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.ext
和pathObject.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