npm или пряжа клонируется из VCS и запускает скрипт сборки при установке пакета? - PullRequest
0 голосов
/ 12 февраля 2020

Я учусь около npm, и у меня есть несколько вопросов.

  1. Откуда npm получить посылку? т. е. при запуске npm install <package-name> или yarn add <package-name>.

  2. Когда получите пакет, выполните npm, чтобы получить пакет как raw или получить, а затем собрать его (например, запустить скрипт сборки, написанный на package.json)?

  3. Когда публикуется sh пакет, поле repository для package.json является обязательным?

  4. Может отличаться для хранилища для публикации и хранилища в pacakge.json?

1 Ответ

1 голос
/ 12 февраля 2020

Чтобы ответить на ваши вопросы:

  1. npm получает их из реестра пакетов NPM, как и yarn, но Yarn, вероятно, имеет перед ним реестр прокси. В общем, вы можете сказать, что оба инструмента по умолчанию извлекают свои пакеты из https://npmjs.com.
  2. Он получает пакет в том виде, в котором он был опубликован (так что, вкратце, ответ «raw» «). Сборка зависит от издателя и зависит от типа упаковки. Часто какая-то задача prepublish встраивает что-то в dist/ (или любое другое место в пакете), и эти файлы также поставляются вместе с пакетом, который затем загружают другие. Сборка редко происходит после установки пакета (исключение составляют библиотеки-пакеты, созданные с помощью node-gyp).
  3. Поле репозитория не является обязательным, насколько мне известно, но целесообразно включить его (оно будет например, на веб-сайте NPM).
  4. Технически, да. Вы можете просто указать любой репозиторий в repository, но не имеет смысла указывать тот, который не является источником пакета.

Если вы вообще хотите прочитать больше о том, как npm работает, посмотрите документацию по https://docs.npmjs.com/

...