node中 path.resolve()文档中的解析
方法将路径或路径片段的序列解析为绝对路径。给定的路径序列从右到左处理,每个后续的 path
会被追加到前面,直到构建绝对路径。 例如,给定路径片段的序列:/foo
、/bar
、baz
,调用 path.resolve('/foo', '/bar', 'baz')
将返回 /bar/baz
,因为 'baz'
不是绝对路径,而 '/bar' + '/' + 'baz'
是。
node中文地址
path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'
path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'
path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果当前工作目录是 /home/myself/node,
// 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
var path = require('path');
console.log(path.resolve()) // /Users/yuan/Documents/Web
console.log(path.resolve('/aaa')) // /aaa
console.log(path.resolve('./aaa')) // /Users/yuan/Documents/Web/aaa
console.log(path.resolve('/aaa', '/bbb')) // /bbb
console.log(path.resolve('/aaa', './bbb')) // /aaa/bbb
console.log(path.resolve('./aaa', '/bbb')) // /bbb
console.log(path.resolve('./aaa', './bbb')) // /Users/yuan/Documents/Web/aaa/bbb
console.log(path.resolve('./aaa', './bbb', './ccc')) // /Users/yuan/Documents/Web/aaa/bbb/ccc
console.log(path.resolve('../aaa', './bbb', '../ccc')) // /Users/yuan/Documents/aaa/ccc
console.log(path.resolve('../aaa', '../bbb', '../ccc')) // /Users/yuan/Documents/ccc
console.log(path.resolve('../aaa', './bbb', './ccc')) // /Users/yuan/Documents/aaa/bbb/ccc
console.log(path.resolve('./aaa', './bbb', '../ccc')) // /Users/yuan/Documents/Web/aaa/ccc
如果没有传入 path
片段,则 path.resolve()
将返回当前工作目录的绝对路径。