Если вы разработчик Node.js, вы наверняка попали в ситуацию, когда хотите использовать незавершенную функцию из другой зависимости Node.
Давайте подробнее остановимся на этом. Например, весь ваш проект логически разбит на 4 модуля npm. Один модуль, который является основным, зависит от остальных 3 модулей. При такой настройке вам, возможно, придется изменить код в подмодулях и проверить, хорошо ли он работает с вашим основным модулем Node.
Самый простой способ - опубликовать модули в npm. Используйте новые версии в основном модуле узла. Что ж, обратная сторона этого подхода заключается в том, что если вы допустили ошибку в своих подмодулях, вам придется повторно опубликовать их и использовать соответственно. Но на этом все не заканчивается. Вам придется повторять это, пока ваш основной модуль узла не станет стабильным. Головная боль. Верно? Я знаю.
Итак, как нам решить эту проблему?
Использование ссылки npm
При таком подходе вы можете работать с любыми зависимостями узлов, если они разрегистрированы в каком-то месте на вашем локальном компьютере. Все, что вам нужно сделать, это запустить приведенную ниже команду в корневой папке пакета, которая является зависимостью для вашего основного модуля узла.
Так что это делает? Если вы работали над проектами на основе Node, вы знаете, что есть папка node_modules, в которой установлены ваши зависимости. Точно так же есть глобальная папка для зависимостей. Приведенная выше команда создает символическую ссылку для пакета, в котором эта команда запускается. Вам нужно снова запустить эту команду в пакете, где вы хотите использовать код зависимости с именем в package.json
.
При этом любые изменения, которые вы вносите в свой модуль узла зависимостей, можно использовать напрямую без повторной установки. Вышеуказанные 2 шага можно сделать короткими с помощью приведенной ниже команды.
npm link <relative-path-to-the-dependency>
Получение исходников с github
Теперь давайте обсудим еще один вариант использования, в котором не вы работаете над своей зависимостью, а ваш коллега. И они не хотят публиковать код, пока не убедятся, что функция в какой-то степени завершена.
Но вам понадобится код этого человека, чтобы проверить любые проблемы интеграции на ранней стадии. Я предполагаю, что вы оба используете систему контроля версий Git для управления своим кодом. Вы можете получить изменения, которые ваш коллега отправил в git, со ссылкой на код репозитория, как показано ниже в вашем файле.
package.json
'package-name': [email protected]:<repository-name>.git#<branch-name>
После того, как вы поместили указанный выше путь в package.json
файл, вам нужно запустить чистый npm install
, чтобы получить последний код из git.
Надеюсь, вам понравилась статья. Если вам понравилось, пожалуйста, похлопайте и поделитесь с другими.
Прокомментируйте ниже, если у вас есть другой способ работы с зависимостями узлов.