Узел Путь модуля к относительным файлам - PullRequest
0 голосов
/ 06 февраля 2020

Итак, я написал модуль коротких узлов (module1) в качестве оболочки для двоичного файла (.exe), который можно вызывать из командной строки.

Вот так я получаю путь к двоичному файлу для выполнения. .exe с execFilePromised. Это работает в моем модуле 1.

const __dirname = fs.realpathSync('.');
const mpqEditorLocation = path.resolve(__dirname, './mpq/MPQEditor.exe');

Проблема: Когда я импортирую module1 с npm link ../<module1> в проект другого узла, путь не будет правильно установлен на .exe, так как он находится в моя папка node_modules, а не <otherproject>/mpq/MPQEditor.exe

Как сделать __dirname относительно фактического файла, а не каталога выполнения проекта?

1 Ответ

0 голосов
/ 06 февраля 2020

Итак, я обнаружил, что мое решение не использует npm link!

Вместо этого используйте npm install <absolute path to your package>.

Я просто распечатал свое местоположение с помощью pwd, а затем установил его там.

Таким образом, я мог бы изменить рефакторинг пути к:

const mpqEditorLocation = path.resolve(__dirname, '..', 'mpq', 'MPQEditor.exe');

с тех пор работал :)

...