path.resolve()
作用:path.resolve() 该方法将一些的 路径/路径段
解析为 绝对路径
。
path.resolve总是返回一个以相对于当前的工作目录(working directory)的绝对路径。给定的路径序列从右到左处理,每个后续的 path 会被追加到前面,直到构建绝对路径,相当于:每一个参数都理解为一个cd命令。最终cd到哪个路径。返回该绝对路径。
语法:path.resolve( [from…],to )
说明:将参数to位置的字符解析到一个绝对路径里,[from … ]为选填项,路径源;
用法:简历归纳为三种情况:
1、如果以 /
开头,不会拼接到前面的路径:
path.resolve('/foo/bar', '/baz') 结果: '/baz'因为 '/baz' 已经是一个绝对路径,故不会再向前拼接.
2、如果以 ./
开头 或者没有符号 则正常拼接前面路径:
path.resolve('/foo/bar', './baz') 结果:'/foo/bar/baz'
3、 如果以 ../
开头,拼接前面的路径,不含最后一节路径:
path.resolve('/foo/bar', '../baz') 结果: '/foo/baz' 拼接前面路径 '/foo/bar' ,但是不包含前面路径最后 '/bar' 这部分
4、如果没有传入 path
片段,则 path.resolve() 将返回当前工作目录的绝对路径
:
//假设该文件的路径问为 /Users/kk/Desktop/my/node_koa/abc.jsconst path = require('path');
let res = path.resolve();
console.log(res)结果:/Users/kk/Desktop/my/node_koa /Users/kk/Desktop/my/node_koa 为该文件的根目录
例子:
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/itbilu/node,则输出结果为
'/home/itbilu/node/wwwroot/static_files/gif/image.gif'