node path 相关
1. path.resolve()
path.resolve() 它的作用是拼接路径,其传参个数没有限制
,每个参数均表示一段路径,我们看一个例子
var path = require("path");
const p = path.resolve("./","demo","img");
console.log(p);
【结果】第一行是它的运行目录,第二行是运行结果
2. 变量 __dirname
- _dirname中是2个 ;
- 在所有情况下,变量
__dirname
都表示当前运行的js文件所在的目录,它是一个绝对路径
。
例子:
在e:\web\code\11webpack\webpack_jwh\09入口和出口\src
这个路径下的index.js
中写如下代码console.log(__dirname);
打印__dirname
的值,输出的结果为e:\web\code\11webpack\webpack_jwh\09入口和出口\src
,即 __dirname 所在文件的路径位置
作用:path.resolve() 该方法将一些的 路径/路径段 解析为绝对路径。
语法:path.resolve( [from…],to )
说明:将参数to位置的字符解析到一个绝对路径里,[from … ]为选填项,路径源;
用法:
path.resolve总是返回一个以相对于当前的工作目录(working directory)的绝对路径。
var path = require("path") //引入node的path模块
path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz') // returns '/baz'
path.resolve('/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz') // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz') // returns '/home/foo/baz'
总结:从后向前,若字符以 / 开头,不会拼接到前面的路径;若以 …/ 开头,拼接前面的路径,且不含最后一节路径;若以
./ 开头 或者没有符号 则拼接前面路径;
另:path.resolve总是返回一个以相对于当前的工作目录(working directory)的绝对路径。
参考: