从节点包中获取调用方的目录根目录.js



想象一下这样的目录结构:

module
index.js
project
main.js
file.yaml

进一步想象一下,在module/index.js文件中,有这样的代码:

const fs = require('fs');
exports.test = function() {
// How should I *dynamically* reference the caller's app root directory?
console.log(fs.readFileSync('file.yaml', 'utf8'));
}

project/main.js文件中,有以下代码:

const x = require('./module');
x.test();

project/file.yaml文件中,有这样的代码:

foo: bar

我希望x.test();输出project/file.yaml的内容,以某种方式动态地引用调用方的根目录。

这是你想要的吗?__dirname给出了该文件的根目录。所以,无论这个函数在哪里被调用,它都将具有file.yaml的正确位置。

const fs = require('fs');
exports.test = function(fileLocation) {
// How should I *dynamically* reference the caller's app root directory?
console.log(fs.readFileSync(fileLocation), 'utf8'));
}
// Calling location
test(path.join(__dirname, './file.yaml')

相关内容

  • 没有找到相关文章

最新更新