返回列表

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

默认分类 2015/08/05 08:21

原文链接: http://www.cnblogs.com/happyframework/archive/2013/05/16/3080910.html

背景

一直存在一个疑惑,require()坐标路径是啥?fs.readFile()的坐标路径又是啥?总之,需要路径的方法,我总有这样的疑问。今天就实验一下,给弄清楚。

实验

实验素材

app.js

//执行 node E:

ode_study\file_path_study\app.js

console.log('*** app start ***');

console.log('***      module.filename = ' + module.filename + ' ***');
console.log('***           __filename = ' + __filename + ' ***');
console.log('***            __dirname = ' + __dirname + ' ***');
console.log('***        process.cwd() = ' + process.cwd() + ' ***');
console.log('*** require.main.filename= ' + require.main.filename + ' ***');

console.log('*** app end ***');

console.log('');

require('./lib/test');

test.js

console.log('*** app start ***');

console.log('***      module.filename = ' + module.filename + ' ***');
console.log('***           __filename = ' + __filename + ' ***');
console.log('***            __dirname = ' + __dirname + ' ***');
console.log('***        process.cwd() = ' + process.cwd() + ' ***');
console.log('*** require.main.filename= ' + require.main.filename + ' ***');

console.log('*** app end ***');

结果

结论

require()方法的坐标路径是:module.filename;fs.readFile()的坐标路径是:process.cwd()。