• Node学习(二)01-node核心模块之path模块——extname()-获取文件后缀 & join()-智能拼接路径


    Node学习(二)01-node核心模块之path模块——extname()-获取文件后缀 & join()-智能拼接路径

    2.3 node核心模块

    模块是Node.js 平台自带的一套基本的 API(功能模块)。

    2.3.1 path模块

    处理路径的模块

    • http://nodejs.cn/api/path.html
    • 操作文件的时候经常要对文件的路径做处理,或者获取文件的后缀,使用 path 模块。
    • path 是 Node 本身提供的 API,专门用来处理路径。
    • path 仅仅用来处理路径的字符串,不一定存在对应的物理文件。

    • 使用方法

      • 加载模块

        // 使用核心模块之前,首先加载核心模块
        let path = require('path');
        // 或者
        const path = require('path');
        
        • 1
        • 2
        • 3
        • 4
      • 调用path模块中的方法,来处理相应的问题,下面列举path模块中的几个方法

        方法作用
        path.basename(path[, ext])返回 path 的最后一部分(文件名)
        path.dirname(path)返回目录名
        path.extname(path)返回路径中文件的扩展名(包含.)
        path.format(pathObject)将一个对象格式化为一个路径字符串
        path.join([…paths])拼接路径
        path.parse(path)把路径字符串解析成对象的格式
        path.resolve([…paths])基于当前工作目录拼接路径

        示例

        path模块.js

        // 1. 使用一个模块,必须先加载这个模块;加载完模块会得到一个对象
        // let 该模块的对象 = require('模块名');
        // let p = require('path'); // 不建议这样加载,因为变量的名字和模块名不一致
        const path = require('path');
        // console.log(path);
        
        // 2. 调用这个对象的API,完成工作
        
        
        // 2.1 extname() -- 获取一个文件的后缀
        // let ext = path.extname('index.html'); // .html
        // let ext = path.extname('../abc/bcd/index.html?id=123'); // .html?id=123
        // let ext = path.extname('../abc/bcd/aa.bb.cc.html'); // .html
        console.log(ext);
        
        
        // 2.2 join() -- 智能拼接路径
        // let lujing = path.join(一段路径, 另一段路径, .......);
        // let lujing = path.join('aa', 'bb'); // aa\bb
        // let lujing = path.join('aa', 'bb', 'index.html'); // aa\bb\index.html
        let lujing = path.join(__dirname, 'bb', 'index.html'); // E:\Study\79\服务端编程node\day02\代码\bb\index.html
        console.log(lujing);
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22

        注:打开node终端进行上述验证即可

        工作目录:当前运行 Node 程序的目录

        const path = require('path');
        
        // extname -- 获取文件后缀
        console.log(path.extname('index.html')); // .html
        console.log(path.extname('index.coffee.md')); // .md
        
        // join -- 智能拼接路径
        console.log(path.join('/a', 'b', 'c')); // \a\b\c
        console.log(path.join('a', 'b', 'c')); // a\b\c
        console.log(path.join('/a', '/b/../c')); // \a\c
        console.log(path.join('/a', 'b', 'index.html')); // \a\b\index.html
        console.log(path.join(__dirname, 'a', 'index.html')); // 得到一个绝对路径
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
  • 相关阅读:
    医院用故障电弧探测器AAFD 安科瑞 时丽花
    Pytorch深度学习—FashionMNIST数据集训练
    腾讯面试——AI岗
    公司服务器中的kafka消息中间件挂了,我是如何修复的?
    最近在对接电商供应链,说说开放平台API接口
    【附源码】Python计算机毕业设计宁夏源沣医药线上销售平台
    Nginx部署SSL证书
    “我在 iPhone 上,创建了个 ChatGPT 快捷方式,这也太万能了……”
    【vue3】:前端登录功能解决方案
    基于vue和nodejs毕业设计酒店预约管理系统
  • 原文地址:https://blog.csdn.net/weixin_44867717/article/details/126376400