• 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
  • 相关阅读:
    【Windows】基于curl命令的Shell上线姿势--解决shiro命令执行工具命令回显拉胯的问题
    11-网络篇-DNS步骤
    git clone访问github失败
    Linux网络通信(TCP套接字编写,多进程多线程版本)
    Effective Modern C++ 第七章 并发API 1
    【前端知识】Three 学习日志(十一)—— 高光网格材质Phong
    DAMO-YOLO训练自己的数据集,使用onnxruntime推理部署
    对已知数组排序
    asp.net core MVC 模型验证
    Java学习笔记38——网络编程02
  • 原文地址:https://blog.csdn.net/weixin_44867717/article/details/126376400