1.说明
psth.resolve([...paths])
方法是NodeApi
中path
模块的方法。
参考链接:
2.VbenAdmin原代码
import { resolve } from 'path';
function pathResolve(dir: string) {
return resolve(__dirname, '.', dir);
}
3.代码在项目中报错
此时引入项目会报错:找不到 path
。
因为我们没有安装node
的声明文件,ts里面没有。
yarn add @types/node --dev
这个开发依赖在原VbenAdmin
项目中没有,是因为其他依赖中有这个依赖。
但是我们现在还没有安装包含@types/node
的依赖。
剩下的依赖里面有很多这样的依赖,我们也不去猜是哪个依赖了。
反正是一个开发依赖,我们直接自己手动安装了。
4.resolve方法
该方法百度上有两种说法:
-
从后向前,生成绝对路径。
-
若字符以 /
开头,不会拼接到前面的路径(因为拼接到此已经是一个绝对路径);
-
若以 ../
开头,拼接前面的路径,且不含最后一节路径;
-
若以 ./
开头 或者没有符号 则拼接前面路径;
-
需要注意的是:如果在处理完所有给定的 path 片段之后还未生成绝对路径,则再加上当前工作目录。
-
每一个参数都理解为一个cd
命令。最终cd
到哪个路径。返回该绝对路径。
实在不确定就直接用在线运行方法试一下吧。
5.__dirname
NodeApi
的__dirname
:当前模块目录名。
6.在线运行
const path = require('path');
console.log(__dirname);
console.log(path.resolve(__dirname, '.', 'src'));
// /tmp/B3YQQ1
// /tmp/B3YQQ1/src
上一章
第二十二章-准备配置Vite
下一章
第二十四章-Vite的情景配置