Я пытаюсь получить исходное имя файла, откуда требуется функция модуля. Я знаю, что вы можете использовать __filename
для получения текущего файла, но я хочу получить исходный файл.
Например, простой модуль, который у меня есть, будет
module.js
module.exports(function() {
return {
print : function(message) {
console.log(__filename + ' ' + message);
};
}
});
app.js
var module = require('./module')();
module.print('hello');
В конце концов, он напечатает module.js hello
, но я действительно хочу увидеть app.js hello
.
Я искал способы получить его, и я знаю, что вы можете использовать console.trace
, чтобы увидеть стек вызовов, но я не могу разобрать его, чтобы сделать то, что я хочу.
Прямо сейчас я работал над этим, заставив функцию print
принимать другой параметр, и вы просто передаете __filename
из app.js
, но я как бы хочу найти решение, в котором мне не нужно этого делать.
var module = require('./module')(__filename);
- person adeneo   schedule 24.02.2015