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'
The path.format()
method returns a path string from an object. This is the
opposite of path.parse()
.
When providing properties to the pathObject
remember that there are
combinations where one property has priority over another:
pathObject.root
is ignored ifpathObject.dir
is providedpathObject.ext
andpathObject.name
are ignored ifpathObject.base
exists
For example, on POSIX:
// If `dir`, `root` and `base` are provided,
// `${dir}${path.sep}${base}`
// will be returned. `root` is ignored.
path.format({
root: '/ignored',
dir: '/home/user/dir',
base: 'file.txt',
});
// Returns: '/home/user/dir/file.txt'
// `root` will be used if `dir` is not specified.
// If only `root` is provided or `dir` is equal to `root` then the
// platform separator will not be included. `ext` will be ignored.
path.format({
root: '/',
base: 'file.txt',
ext: 'ignored',
});
// Returns: '/file.txt'
// `name` + `ext` will be used if `base` is not specified.
path.format({
root: '/',
name: 'file',
ext: '.txt',
});
// Returns: '/file.txt'
On Windows:
path.format({
dir: 'C:\\path\\dir',
base: 'file.txt',
});
// Returns: 'C:\\path\\dir\\file.txt'