如何让require查看执行脚本的相对路径(而不是脚本对执行脚本的要求)?例如:
index.js
require('lib/foo.js');
-
LIB / foo.js
var barFunction = require('./bar.js').barFunction;
barFunction();
-
LIB / bar.js
module.exports.barFunction = function(){
return true;
}
当你node index.js
时,foo.js会查找bar.js而不是lib / bar.js。
如果将foo.js修改为require('lib/bar.js')
,则node foo.js
将停止工作。
如何以node index.js
和node lib/foo.js
的方式设置需求,然后两者都有效?
答案 0 :(得分:2)
您可以使用__dirname
获取当前正在执行的脚本所在的绝对目录。例如:
index.js
:
require(__dirname + '/lib/foo.js');
lib/foo.js
:
var barFunction = require(__dirname + '/bar.js').barFunction;
barFunction();