Nodejs 一些细节

Nodejs 一些细节

nodejs路径以及path相关

process.cwd()__dirname__filename

三者的区别是

命令说明
process.cwd()获得当前执行node命令时候的文件夹目录名
__dirname获得当前执行文件所在目录的完整目录名
__filename获得当前执行文件的带有完整绝对路径的文件名

例子说明:
假设我们创建一个全局的cli

它的项目路径在 D:\MyProject\mycli 文件夹中

而它的 mycli init 命令执行的函数在 D:\MyProject\mycli\src\init.js

init.js 存在以下代码

1
2
3
4
5
console.log(process.cwd());
console.log(__dirname);
console.log(__filename);
console.log(path.join('./index.html'));
console.log(path.resolve('./index.html'));

那么在 D:\MyProject\mycli 下执行命令输出

1
2
3
4
5
D:\MyProject\mycli
D:\MyProject\mycli\src
D:\MyProject\mycli\src\init.js
index.html
D:\MyProject\mycli\index.html

如果在 D:\otherDir 中执行命令输出为

1
2
3
4
5
D:\otherDir
D:\MyProject\mycli\src
D:\MyProject\mycli\src\init.js
index.html
D:\otherDir\index.html

主要区别就是 process.cwd()path 连接命令

-------文章到此结束  感谢您的阅读-------