__dirname、__filename、process.cwd()、process.chdir()表示的路径
- __dirname 表示当前文件所在的目录的绝对路径
- __filename 表示当前文件的绝对路径
- module.filename ==== __filename 等价
- process.cwd() 返回运行当前脚本的工作目录的路径
- process.chdir() 改变工作目录
例子,文件路径有如下结构:
newapp > demo > hello.js
在hello.js文件中编写如下代码:
console.log(__dirname);
console.log(__filename);
console.log(module.filename===__filename);
console.log(process.cwd());
process.chdir('/Users/jerry')
console.log(process.cwd());
然后定位在newapp目录下,执行命令 node demo/hello.js,输出结果如下:
/Users/jerry/51talk/newapp/demo
/Users/jerry/51talk/newapp/demo/hello.js
true
/Users/jerry/51talk/newapp
/Users/jerry
__filename
变量获取当前模块文件的带有完整绝对路径的文件名;【包含文件名本身的绝对路径】
__dirname
变量获得当前文件所在目录的完整目录名。【不包含文件名本身的绝对路径】
该方法用于获取一个路径中的目录名,使用方式如下:
path.dirname(p);
该方法使用一个参数,参数为一个路径可以是相对路径,绝对路径,可以为一个目录的路径,也可以为一个文件的路径。当参数值为目录路径时,该方法返回该目录的上层目录;当参数值为文件路径时,该方法返回该文件所在的目录。
var dirname = path.dirname("./a/b");
console.log(dirname); // .a