Если вы разработчик 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.

Надеюсь, вам понравилась статья. Если вам понравилось, пожалуйста, похлопайте и поделитесь с другими.

Прокомментируйте ниже, если у вас есть другой способ работы с зависимостями узлов.