(all spaces in the "" line should be ignored -- they are purely for formatting)
path.format(pathObject)
阅读相关API文档说明后发现,
path.format(pathObject)中,pathObject的配置属性是可以进一步精简的。根据接口的描述来看,以下两者是等价的。
root vs dir:两者可以互相替换,区别在于,路径拼接时,root后不会自动加/,而dir会。
base vs name+ext:两者可以互相替换。
var path = require('path');var p1 = path.format({
root: '/tmp/',
base: 'hello.js'
});
console.log( p1 ); // 输出 /tmp/hello.js
var p2 = path.format({
dir: '/tmp',
name: 'hello',
ext: '.js'
});
console.log( p2 ); // 输出 /tmp/hello.js
path.parse(filepath)
path.format(pathObject) 的反向操作,直接上官网例子。四个属性,对于使用者是挺便利的,不过
path.format(pathObject) 中也是四个配置属性,就有点容易搞混。
path.parse('/home/user/dir/file.txt')
// returns
// {
// root : "/",
// dir : "/home/user/dir",
// base : "file.txt",
// ext : ".txt",
// name : "file"
// }获取相对路径
接口:
path.relative(from, to)描述:从from路径,到to路径的相对路径。
边界:
如果from、to指向同个路径,那么,返回空字符串。
如果from、to中任一者为空,那么,返回当前工作路径。
上例子:
var path = require('path');var p1 = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log(p1); // 输出 "../../impl/bbb"
var p2 = path.relative('/data/demo', '/data/demo');
console.log(p2); // 输出 ""
var p3 = path.relative('/data/demo', '');
console.log(p3); // 输出 "../../Users/a/Documents/git-code/nodejs-learning-guide/examples/2016.11.08-node-path"
平台相关接口/属性
以下属性、接口,都跟平台的具体实现相关。也就是说,同样的属性、接口,在不同平台上的表现不同。
path.posix:path相关属性、接口的linux实现。
path.win32:path相关属性、接口的win32实现。
path.sep:路径分隔符。在linux上是/,在windows上是“。









