NodeJs:module.filename、__filename、__dirname、process.cwd()和require.main.filename 解惑

15224911-07a16025fd984581800a84764dff8044.png

app.js

1 //执行 node E:\node_study\file_path_study\app.js
2
3 console.log('*** app start ');
4
5 console.log('
module.filename = ' + module.filename + ' ');
6 console.log('
__filename = ' + __filename + ' ');
7 console.log('
__dirname = ' + __dirname + ' ');
8 console.log('
process.cwd() = ' + process.cwd() + ' ');
9 console.log('
require.main.filename= ' + require.main.filename + ' ');
10
11 console.log('
app end ***');
12
13 console.log('');
14
15 require('./lib/test');

test.js

1 console.log('*** app start ');
2
3 console.log('
module.filename = ' + module.filename + ' ');
4 console.log('
__filename = ' + __filename + ' ');
5 console.log('
__dirname = ' + __dirname + ' ');
6 console.log('
process.cwd() = ' + process.cwd() + ' ');
7 console.log('
require.main.filename= ' + require.main.filename + ' ');
8
9 console.log('
app end ***');

15225046-cf3417a5bbd14471b18c55679095318e.png

module.filename:开发期间,该行代码所在的文件。
__filename:始终等于 module.filename。

__dirname:开发期间,该行代码所在的目录。
process.cwd():运行node的工作目录,可以使用 cd /d 修改工作目录。
require.main.filename:用node命令启动的module的filename, 如 node xxx,这里的filename就是这个xxx。
require()方法的坐标路径是:module.filename;
fs.readFile()的坐标路径是:process.cwd()。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容