📜  Node.js 路径模块完整参考(1)

📅  最后修改于: 2023-12-03 15:03:15.530000             🧑  作者: Mango

Node.js 路径模块完整参考

在 Node.js 中,路径是非常重要的,路径模块(Path Module)提供了一些有用的工具,可用于处理文件和目录的路径。这篇文章将介绍 Node.js 中路径模块的完整参考。

引入路径模块

在 Node.js 中使用路径模块,必须先引入该模块。可以使用 Node.js 内置的 require() 函数来实现。

const path = require('path');
path.basename(path[, ext])

此方法返回 path 的最后一部分,类似于 Unix 命令 basename。 可选的 ext 参数可用于从文件名中删除扩展名。

const path = '/home/user/dir/file.txt';
console.log(path.basename(path)); // 输出: file.txt

const path = '/home/user/dir/file.txt';
console.log(path.basename(path, '.txt')); // 输出: file
path.delimiter

此属性返回平台特定的路径分隔符。在 Windows 上是 ';',在 POSIX 上是 ':'。

console.log(process.env.PATH);
// 输出: '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin'
console.log(path.delimiter); // 输出: ':'
path.dirname(path)

此方法返回 path 的目录名,类似于 Unix 命令 dirname。

const path = '/home/user/dir/file.txt';
console.log(path.dirname(path)); // 输出: /home/user/dir
path.extname(path)

此方法返回 path 的扩展名,类似于 Unix 命令 basename。

const path = '/home/user/dir/file.txt';
console.log(path.extname(path)); // 输出: .txt
path.format(pathObject)

此方法将对象转换为路径字符串。

const pathObject = {
  dir: '/home/user/dir',
  base: 'file.txt'
};
console.log(path.format(pathObject)); // 输出: /home/user/dir/file.txt
path.isAbsolute(path)

此方法确定路径是否为绝对路径。如果是,则返回 true,否则返回 false。

console.log(path.isAbsolute('/foo/bar')); // 输出: true
console.log(path.isAbsolute('foo/bar')); // 输出: false
path.join([...paths])

此方法使用特定于平台的分隔符作为定界符来将所有给定路径片段连接在一起,并规范化生成的路径。

console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')); // 输出: /foo/bar/baz/asdf
path.normalize(path)

此方法规范化给定的 path,解析 '..' 和 '.' 片段。

console.log(path.normalize('/foo/bar//baz/asdf/quux/..')); // 输出: /foo/bar/baz/asdf
path.parse(path)

此方法返回 path 的解析对象,类似于 parse()。

const path = '/home/user/dir/file.txt';
console.log(path.parse(path));
// 输出:
// {
//   root: '/',
//   dir: '/home/user/dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file'
// }
path.posix

此属性提供了 path 的 POSIX 版本,用于在 Windows 上使用 POSIX 风格的路径。

console.log(path.posix.join('/foo', 'bar')); // 输出: /foo/bar
path.relative(from, to)

此方法返回从 from 到 to 的相对路径。

console.log(path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')); // 输出: ../../impl/bbb
path.resolve([...paths])

此方法寻找最终路径,相当于在 shell 中使用 cd 命令。

console.log(path.resolve('/foo/bar', './baz')); // 输出: /foo/bar/baz
总结

Node.js 中路径模块提供了许多实用工具,用于处理文件和目录的路径。了解这些工具可以帮助开发人员使用 Node.js 更高效,更方便地管理文件和目录。

以上是 Node.js 路径模块的完整参考。