学习Node.js基础(5)

140 阅读2分钟

承接上文,继续补充学习Nodejs的内置模块path

path模块

因为Node.js是可以运行不同操作系统上的,不同操作系统的路径分隔符也是不一样的,还有它们之间的根路径同样也是不一样的,所以就需要一个对系统路径,Node.js的Path模块就是提供了一些用于处理文件路径的工具模块。在使用前需要引入模块:

const path = require("path");
属性
  • sep:当前系统的路径分隔符,在Windows系统中,标准分隔符是\,在UNIX系统中,标准分隔符是/
  • delimiter:当前系统的环境变量分割符,在Windows系统中,标准分隔符是;,在UNIX系统中,标准分隔符是:
方法
  • basename(path[, ext]):返回路径的最后一部分,如果传入拓展名参数ext,那么的路径中不会包含拓展名;
  • dirname(path):返回路径中代表文件夹的部分;
  • extname(path):返回路径中文件的后缀名;
  • parse(pathString):返回路径字符串的对象;
  • format(pathObject):从对象中返回路径字符串,跟parse相反;
  • isAbsolute(path):判断参数path是否是绝对路径;
  • join([...paths]):用于连接路径,该方法的主要用途是在于正确使用当前系统的路径分隔符;
  • normalize(path):用于规范给定路径,解析...;
  • relative(from, to):将绝对路径转化为相对路径,返回从fromto的相对路径;
  • resolve([...paths]):将参数中的path等一系列路径解析为绝对路径。
let p = '/foo/bar/baz/asdf/test.html';
console.log(path.basename(p)); // test.html
console.log(path.basename(p, '.html')); // test
console.log(path.extname(p)); // .html
let p = 'D:\\Note\\test.html';
console.log(path.parse(p));
/**
{
    root: 'D:\\',               // 根路径
    dir: 'D:\\Note\\test.html', // 目录
    base: 'test.html',          // 文件
    ext: '.html',               // 后缀名
    name: 'test'                // 文件名
}
*/

let pathObj = {
    root: 'D:\\',               // 根路径
    dir: 'D:\\Note\\test.html', // 目录
    base: 'test.html',          // 文件
    ext: '.html',               // 后缀名
    name: 'test'                // 文件名
};
console.log(path.format(pathObj)); //D:\\Note\\test.html