1、Node中文官网有一段描述:“指定的路径序列是从右往左开始处理的,后面的 path 被依次处理,直到构造完绝对路径。”
这里文档强调的是从右往左解析,而您讲的时候是从左往右拼接的。
2、下面是中文官网的一个例子:
path.resolve(’/foo/bar’, ‘/tmp/file/’);
// 返回: ‘/tmp/file’
这里如果按照您的讲解,应该返回“/foo/bar/tmp/file”,而不是“/tmp/file”。
所以官方文档的“从右往左”的描述是正确的。以“web: resolve(‘src/platforms/web’)”为例:它的含义应该是:
首先,判断“src/platforms/web”这个是否是绝对路径,显然这个不是绝对路径,因此拼接上“…/”路径。
进行完上述拼接以后得到“…/src/platforms/web”,此时这个路径还是不是绝对路径,他只是从“alias.js”这个文件所在当前目录向上一级移动,也就是“vue/src/platforms/web”。接着再次拼接“__dirname”。
最后,得到完整绝对路径“/path/to/vue/src/platforms/web”。
老师,您说我说的对吗?