美文网首页
path模块

path模块

作者: 金桔柠檬加冰 | 来源:发表于2018-08-24 13:11 被阅读0次

path模块

//引入模块
var path = require('path');

path.basename(path[, ext])

  • 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.dirname(path)

path.dirname() 方法返回一个 path 的目录名

path.dirname('/foo/bar/baz/asdf/quux');
// 返回: '/foo/bar/baz/asdf'

如果 path 不是一个字符串,则抛出 TypeError

注意:只能返回目录名,并不能返回目录的详细信息

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');
// 返回: ''

如果 path 不是一个字符串,则抛出 TypeError

path.format(pathObject)

pathObject <Object>

path.format() 方法会从一个对象返回一个路径字符串。 与 path.parse() 相反。

pathObject 提供的属性有组合时,有些属性的优先级比其他的高:

  • 如果提供了 pathObject.dir,则 pathObject.root 会被忽略
  • 如果提供了 pathObject.base 存在,则 pathObject.extpathObject.name 会被忽略
path.format({
  dir: 'C:\\path\\dir',
  base: 'file.txt'
});
// 返回: 'C:\\path\\dir\\file.txt'

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 {}'

path.normalize(path)

path.normalize() 方法会规范化给定的 path,并解析 '..''.' 片段

path.parse(path)

path.parse() 方法返回一个对象,对象的属性表示 path 的元素。 尾部文件分隔符会被忽略

返回的对象有以下属性

  • dir

  • root

  • base

  • name

  • ext

    path.parse('C:\\path\\dir\\file.txt');
    // 返回:
    // { root: 'C:\\',
    //   dir: 'C:\\path\\dir',
    //   base: 'file.txt',
    //   ext: '.txt',
    //   name: 'file' }
    

    更多详情 http://nodejs.cn/api/path.html

相关文章

网友评论

      本文标题:path模块

      本文链接:https://www.haomeiwen.com/subject/nujbiftx.html