nodeJs-path模块

来源:互联网 发布:汉仪南宫体简下载 mac 编辑:程序博客网 时间:2024/05/22 10:36

1.引用模块

path 模块提供了一些工具函数,用于处理文件与目录的路径。可以通过以下方式使用const path = require('path');

2.__dirname变量

获得当前文件所在目录的完整目录名

3.path.basename(path[, ext])

path.basename() 方法返回一个 path 的最后一部分path.basename('/foo/bar/baz/asdf/quux.html');// 返回: 'quux.html'path.basename('/foo/bar/baz/asdf/quux.html', '.html');// 返回: 'quux'如果 path 不是一个字符串或提供了 ext 但不是一个字符串,则抛出 TypeError。

4.path.dirname(path)

path.dirname() 方法返回一个 path 的目录名path.dirname('/foo/bar/baz/asdf/quux');// 返回: '/foo/bar/baz/asdf'如果 path 不是一个字符串,则抛出 TypeError。

5.path.extname(path)

path.extname() 方法返回 path 的扩展名即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名(见 path.basename())的第一个字符是 .,则返回一个空字符串。path.extname('index.html');// 返回: '.html'path.extname('index.coffee.md');// 返回: '.md'path.extname('index.');// 返回: '.'path.extname('index');// 返回: ''path.extname('.index');// 返回: ''

6.path.format(pathObject)

path.format() 方法会从一个对象返回一个路径字符串。 与 path.parse() 相反。当 pathObject 提供的属性有组合时,有些属性的优先级比其他的高:如果提供了 pathObject.dir,则 pathObject.root 会被忽略如果提供了 pathObject.base 存在,则 pathObject.ext 和 pathObject.name 会被忽略例如,在 POSIX 上:// 如果提供了 `dir``root``base`,则返回 `${dir}${path.sep}${base}`。// `root` 会被忽略。path.format({  root: '/ignored',  dir: '/home/user/dir',  base: 'file.txt'});// 返回: '/home/user/dir/file.txt'// 如果没有指定 `dir`,则 `root` 会被使用。// 如果只提供了 `root``dir` 等于 `root`,则平台的分隔符不会被包含。// `ext` 会被忽略。path.format({  root: '/',  base: 'file.txt',  ext: 'ignored'});// 返回: '/file.txt'// 如果没有指定 `base`,则 `name` + `ext` 会被使用。path.format({  root: '/',  name: 'file',  ext: '.txt'});// 返回: '/file.txt'在 Windows 上:path.format({  dir: 'C:\\path\\dir',  base: 'file.txt'});// 返回: 'C:\\path\\dir\\file.txt'

7. path.join([…paths])

path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 '.',表示当前工作目录。例子:path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');// 返回: '/foo/bar/baz/asdf'path.join('foo', {}, 'bar');// 抛出 'TypeError: Path must be a string. Received {}'如果任一路径片段不是一个字符串,则抛出 TypeError。