我的模块是否可以获取运行函数的文件的__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
答案 0 :(得分:1)
您可以获取主模块(导入当前模块的模块)名称,使用路径模块可以获取它的目录
const {dirname} = require("path");
module.exports.dir = function () {
console.log(dirname(require.main.filename))
}
这里如果模块运行在自己的require.main.filename将等于它自己,但如果它导入它将给你它的导入器的名称