webpack中path.join()和path.resolve()区别

const path = require('path')
path模块提供了用于处理文件和目录的路径的实用工具,使用时引入即可。
 

1.__dirname和__filename的区别

__dirname,是一个成员,用来动态获取当前文件模块所属的绝对路径

__filename,可以动态获取当前文件的绝对路径(包含文件名)

 

 

 

 

 

 2.path.join([...path])

path.join([...path])是使用分隔符将所有的字段连接起来,然后对路径规范化

path.join('a', 'b', 'c', 'd/e')
//返回:a/b/c/d/e
path.join('a', 'b', '', 'd/e')
//(零长度字符串会忽略)返回:a/b/d/e

path.join('a', 'b', '.', 'd/e') //(.表示当前目录)返回:a/b/d/e path.join('a', 'b', '..', 'd/e') //(..表示上一级目录)返回:a/d/e // 第一个 a / b 下一个拼 '.' 层级不会变化 接着拼 d / e 最后结果就是 a / b / d / e // 第二个 a / b 下一个拼 '..' 找上一级 变成 a / 接着拼 d / e 最后结果就是 a / d / e

 

3.path.resolve([...path])

path.resolve([...path])是将一系列路径或路径段解析为绝对路径

重点是给定的路径顺序是从右到左处理的,直到构建出绝对路径为止

 

path.resolve('a', 'b', 'c', 'd/e')
//(绝对路径)返回:/a/b/c/d/e
//(零长度字符串会忽略)
path.resolve('a', 'b', '', 'd/e')
//返回:/d/e
//因为/d/e就是一个绝对路径,所以结果为/d/e

 

posted @ 2022-08-25 11:35  轩悦  阅读(136)  评论(0编辑  收藏  举报