有没有一种方法可以让我的模块获取正在运行函数的文件的 __dirname
?像这样的东西:
module.js
module.exports.dir = function(){
console.log(__dirname);
}
file.js
var module = require("./module.js");
module.dir();
// /home/user/dir/file.js instead of /home/user/dir/module.js
最佳答案
您可以获取主模块(导入当前模块的模块)名称,并使用路径模块您可以获取它的目录
const {dirname} = require("path");
module.exports.dir = function () {
console.log(dirname(require.main.filename))
}
这里,如果模块单独运行,则 require.main.filename 将等于其自身,但是如果导入它,它将为您提供其导入程序的名称
关于node.js - 获取模块正在运行的__dirname?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39906963/