NPM, должны ли зависимости времени сборки быть помещены в dev-зависимости или зависимости? - PullRequest
0 голосов
/ 20 февраля 2019

Я работаю на сервере узлов, который хочу развернуть на Heroku.Для простоты я использую опцию Heorku «автоматическое развертывание из мастера»;всякий раз, когда я помещаю изменения в GitHub, приложение Heroku будет обновляться.

Проблема, с которой я сталкиваюсь, заключается в том, что Heroku не устанавливает NPM dev-dependencies (возможно, потому что NODE_ENV установлен на production?), Что может иметь смысл, поскольку это не среда разработки.

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

  1. Поместить зависимости, необходимые для сборки, как не-dev-зависимости.
    • Это означало бы, что Heroku установит эти зависимости и получит доступ к ним при сборке.
    • Однако я всегда думал о различии между не-dev и dev-зависимостями, которые требуются во время выполнения.(например, служебная библиотека lodash или http-библиотека axios) v те, которые требуются для сборки (например, компиляторы webpack или browserify или scss) и для разработки (например, nodemon и локальные http-серверы).
  2. Включитепостроить вывод в github.
    • Это означало бы, что Heroku не нужно будет строить, и, следовательно, не потребуются зависимости dev.
    • Однако, сгенерированный в github кажется уродливым.
    • Кроме того, потенциально здание может зависеть от платформы или среды.

I'mсклоняется к варианту (1), но я хотел уточнить, верно ли мое понимание dev v не-dev зависимостей.Кажется очевидным, что зависимости во время выполнения должны идти под не-dev, а зависимости, используемые при разработке и отладке, должны идти под dev.Но где следует размещать зависимости, используемые в процессе сборки?

...