第二十三章-Node的path.resolve方法

1.说明

psth.resolve([...paths])方法是NodeApipath模块的方法。

参考链接:

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方法

该方法百度上有两种说法:

  1. 从后向前,生成绝对路径。

    • 若字符以 / 开头,不会拼接到前面的路径(因为拼接到此已经是一个绝对路径);

    • 若以 ../ 开头,拼接前面的路径,且不含最后一节路径;

    • 若以 ./ 开头 或者没有符号 则拼接前面路径;

    • 需要注意的是:如果在处理完所有给定的 path 片段之后还未生成绝对路径,则再加上当前工作目录。

  2. 每一个参数都理解为一个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的情景配置

# vben  Node 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×