假设我有两个文件,dir/a.js并且lib/b.js
一个.js:
b = require('../lib/b');
b.someFn();
b.js:
var fallback = "./config.json";
module.exports = {
someFn = function(jsonFile) {
console.log(require(jsonFile || fallback);
}
}
b.js这个例子的全部目的是读取一个 json 文件,所以我可以把它称为b.someFn("path/to/file.json").
但我希望有一个默认值,比如配置文件。但默认值应该是相对于a.js而不是b.js。换句话说,我应该能够调用b.someFn()from a.js,并且应该说,“既然你没有给我传递路径,我将假设默认路径为config.json。” 但是默认值应该是相对的a.js,即应该是dir/config.json而不是 lib/config.json,如果我这样做了,我会得到require(jsonFile)。
我可以得到cwd,但这只有在我从内部启动脚本时才会起作用dir/。
有没有办法在b.js里面说someFn(),“给我__dirname调用我的函数?”