Подтвердить что ты не робот

В Node.js, как я могу определить путь к этому модулю?

В модуле Node.js, который я пишу, я хотел бы открыть файл - i.e, с fs.readFile() - который содержится в том же каталоге, что и мой модуль. Под этим я подразумеваю, что он находится в том же каталоге, что и файл ./node_modules/<module_name>/index.js.

Похоже, что все операции относительного пути, выполняемые модулем fs, происходят относительно каталога, в котором запускается Node.js. Как таковой, я думаю, мне нужно знать, как получить путь к текущему исполняемому модулю Node.js.

Спасибо.

4b9b3361

Ответ 1

Как упоминает в комментариях Дэвид ван Бринк, правильным решением является использование __dirname. Эта глобальная переменная вернет путь к выполняемому в настоящее время script (т.е. Вам может понадобиться использовать ../ для доступа к корню вашего модуля).

Например:

var path = require("path");
require(path.join(__dirname, '/models'));

Просто чтобы спасти кого-то от головной боли.