Node的path.resolve()

2,207 阅读1分钟

1、定义

path.resolve([...paths])

  • ...paths <string> 路径或路径片段的序列。
  • 返回: <string>

path.resolve() 方法会将路径或路径片段的序列解析为绝对路径。

2、用法

  • 给定的路径序列会从右到左进行处理,后面的每个 path 会被追加到前面,直到构造出绝对路径。
path.resolve('foo', '/baz', 'bar');
// 'C:\baz\bar'
  • 如果处理完全部给定的 path 片段后还未生成一个绝对路径,则当前工作目录(绝对路径)会被用上。
path.resolve('bar', 'baz', 'foo');
// 'C:\Users\Username\Desktop\learn\Node\bar\baz\foo'
  • 生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。
path.resolve('/foo', 'bar/', 'baz/');
// 'C:\foo\bar\baz' 

path.resolve('/');
// 'C:\' 如果路径为根路径,末尾的斜线不会删除

3、path.resolve(__dirname,'./src')

__dirname是__directory+name的缩写,是目录名的意思,代表的是当前文件(a.js)的绝对路径。