nodejs-что использовать вместо require.пути?
последние узел docs сказать, что изменение require.paths
- Это плохая практика. Что же мне делать?
3 ответов
Я считаю, что проблема в том, что его можно многократно изменять во время выполнения, а не просто устанавливать. Это, очевидно, может быть запутанным и вызывает некоторые довольно странные ошибки. Кроме того, если отдельные пакеты изменяют путь, результаты применяются глобально, что действительно плохо и противоречит модульной природе узла.
Если у вас есть несколько собственных путей библиотеки, лучшим решением является установка переменной среды NODE_PATH перед запуском узла. Затем узел поднимает это когда он запущен и применяется автоматически.
Я сохраняю связанные модели в том же dir или sub dir и загружаю с помощью:
var x = require('./mod/x');
если это внешний модуль, я устанавливаю его с помощью npm, который правильно помещает модуль в NODE_PATH.
Я никогда не менял require.пути.
посмотрите на https://github.com/patrick-steele-idem/app-module-path-node; Вы можете добавить каталог в require
заявления на верхнем уровне, не влияя на пути субмодулей.