делиться проектами, использующими ссылку npm - PullRequest
0 голосов
/ 25 августа 2018

Основной вопрос: как использовать ссылку npm в командной среде?Я бью концептуальную стену.

Идея кажется простой: основной проект использует подпроект, мы используем ссылку npm, чтобы сделать подпроект видимым для основного проекта, теперь изменения в подпроекте сразу видны без каких-либо новыхnpm install.

Описано в npm документах .Это двухэтапный процесс,

  1. Ссылка на подпроект - это делает ссылку в глобальном каталоге npm
  2. ссылку с главной на глобальную запись, в сущности, двухуровневая ссылкачерез глобальный каталог npm.

Объяснил немного больше в статьях, подобных этой .

Моя проблема: когда я проверяю свой основной проект в git, он имеет ссылкидля этих глобальных модулей, модули глобальные только на моей машине.Мой коллега проверяет как основной, так и подпроект, не нужно ли им выполнить шаг 1, чтобы создать глобальную ссылку для каждого подпроекта?

Уточнение: я сделал, возможно, неверное предположение, что node_modules проверен на git.Были споры о том, нужно ли это делать, но меня убедила мысль, что если кто-то создает продукт, то для воспроизводимой сборки нужны node_modules.

Это кажется грязным.Очевидно, что мы можем написать все это, но как это должно работать?

1 Ответ

0 голосов
/ 26 августа 2018

Как ваш коллега получает ваши глобальные ссылки? Вы регистрируетесь в node_modules? Вы никогда не должны совершать ничего, что использует npm link. Это полезно для локального развития, но не предназначено для git.

Если вы не хотите публиковать слишком часто, вы можете заставить основной проект использовать определенную ветку git зависимости, а не опубликованную версию, например, "jscs": "jscs-dev/node-jscs#v1.12.0".

Если вы знаете относительный путь зависимости, вы также можете добавить ссылку на скрипт test или любой другой скрипт в package.json. Это то, что мы используем в нашем CI, потому что нам нужно проверять наши образцы на соответствие текущей версии, а не опубликованному модулю:

{
  "scripts": {
    "test": "cd ./some/my-dep; npm link; cd ../../; npm link my-dep; mocha test/*"
  }
}

Если вы не знаете относительный патч, вы можете использовать переменную окружения, и каждый, кто работает с вами, должен установить эту переменную для npm test для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...