Нужна проверка моего понимания dev-зависимостей и зависимостей - PullRequest
4 голосов
/ 14 октября 2019

Я новичок (~ 15 дней в изучении веб-разработки), и в настоящее время я изучаю React среди прочего, и мне жаль, если это звучит слишком тривиально.

Я пытаюсь понять разницу междуdevDependencies и зависимости и правильное использование того же самого.

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

Определение

  • зависимости: только пакетыкоторые, наконец, будут использоваться производственной сборкой. Они будут там в конечном файле package.json.

  • devDepndencies: пакеты, которые облегчают мои усилия по разработке и, наконец, не будут использоваться продуктом / приложением. Они не будут включены в папку package.json окончательной сборки.

Важность правильного использования

Довольно важно, так как правильно исключая devDependenciesиз зависимости может сделать приложение легче. В то же время неправильное исключение необходимых зависимостей приведет к разрыву приложения.

Практический пример

В файле package.json, созданном во время моего урока, у меня былследующие пакеты, и я упоминаю тип зависимости, который должен иметь пакет в соответствии с моим текущим пониманием. Пожалуйста, дайте мне знать, если я где-то ошибаюсь:

  • babel-cli: devDependency
  • babel-core: devDependency
  • babel-loader: devDependency
  • babel-plugin-transform-class-properties: devDependency
  • babel-preset-env: devDependency
  • babel-preset-реакции: devDependency
  • css-загрузчик: devDependency
  • node-sass: зависимость
  • реаги: зависимость
  • реаги-дом: зависимость
  • реакция-мода: зависимость
  • sass-загрузчик: зависимость
  • стиль-загрузчик: зависимость
  • средство проверки: зависимость
  • веб-пакет: dev-зависимость
  • webpack-dev-сервер: dev-зависимость

Пожалуйста, дайте мне знать, если у меня что-то из этого неправильное

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

devDependencies - это зависимости модуля, которые требуются только во время активной разработки вашего веб-приложения. Например, когда вы кодируете новые функции в своем веб-приложении. Многие devDependencies сделают разработку проще для вас и могут обеспечить такие функции, как связывание, связывание, перенос и т. Д.

В отличие от обычных dependencies это модули, которые необходимо во время выполнения вашего веб-приложения. Т.е. это необходимые зависимости для правильной работы вашего веб-приложения, когда другие пользователи хотят взаимодействовать с вашим веб-приложением.

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

Ваши опасения относительно включения большего количества кода, чем необходимо для вашего производственного комплекта, действительны, и я рекомендовал бы прочитать больше о стоимости JavaScript . Однако в начале я бы посоветовал сначала получить работающую кодовую базу и продолжать итерировать и улучшать свой код по мере роста набора навыков. Повышение производительности на этом пути.

Наконец, некоторые распространенные типы devdependencies включают в себя библиотеки для тестирования вашей базы кода, построения, минимизации, объединения, переноса и компоновки вашего кода.

Надеюсь, это поможет!

0 голосов
/ 14 октября 2019

devDependencies - это зависимости, которые требуются только в вашей среде разработки или требуются для создания вашего пользовательского интерфейса, например nodemon - это зависимость dev, потому что вы никогда не запустите свое приложение с ним.

Одним из преимуществ разделения ваших devDependencies от ваших обычных зависимостей является меньший размер изображения докера при построении вашего последнего слоя.

Например, в моем файле dockerfile я буду запускать набор тестов, а такжесоздайте пользовательский интерфейс, который требует установки npm, но при создании окончательного образа, который будет фактически запускаться, я просто скопирую встроенные файлы пользовательского интерфейса через docker, а затем запустите установку npm --production, чтобы мои devDependencies не устанавливалисьи раздуйте мою папку node_modules.

Надеюсь, это поможет.

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