зависимости срещу devDependitions

Питали ли сте се някога каква е разликата между тези два типа зависимости във вашия пакет.json? В тази статия ще се опитам да отговоря на този въпрос с помощта на прости думи.

Какво представляват зависимостите и за какво се използват?

Ако не сте разработчик от 2007 г. и инсталирате рамки и libs с помощта на мениджъри на пакети, трябва да използвате зависимости, дори ако не сте знаели за тях. Представете си, че сте създали страхотен уебсайт с помощта на Vue и сте го инсталирали с npm. И вие може да искате други хора да видят какъв невероятен разработчик сте и сте избутали вашия проект към github repo и, разбира се, сте добавили своите node_modules към .gitignore файл, защото сте умен разработчик. Тогава други хора копират вашия проект на своите машини и се опитват да го стартират на localhost, но oopppss, нищо не работи ... Всичко това се случва поради използван Vue, който беше инсталиран в нашите node_модули, които не сте натиснали. Единственото решение на този проблем е просто да стартирате npm install script във вашата папка на проекта

И това е, когато package.json влиза в играта. Тази команда ще влезе във вашия package.json и ще инсталира всички рамки и libs, споменати във вашите зависимости. Например в моя случай ще бъдат инсталирани Vue и Vue-материал + необходими пакети за стабилна работа на npm

Как се появяват зависимостите във вашия пакет.json?

Когато инсталирате някои lib с помощта на npm, цялата необходима информация автоматично се добавя към зависимости. Например, нека инсталираме Vuex с помощта на npm install vuex --save

Vuex и всички допълнителни необходими пакети са добавени към вашите зависимости успешно.

зависимости срещу devDependitions

И сега е време да отговорим на основния въпрос на тази статия, каква е разликата между тези два типа зависимости?

devDependitions трябва да съдържа пакети, които се използват по време на разработка или които се използват за изграждане на вашия пакет, например mocha, jscs, grunt-contrib-watch, gulp-jade и др. ESlint се използва за проверка на всичко по време на изграждането на вашия пакет. Така че инсталирайте всички тези пакети, използвайки флаг -dev, това ще каже на npm, хеей, имам нужда от този пакет за разработка, така че това автоматично ще добави пакета към devDependitions вместо обичайните зависимости.

Между другото, npm install по подразбиране инсталира пакети както от зависимости, така и от devDependpendations. Не съм виждал използването на този флаг от години, но просто ще ви уведомя това, за малки проекти това може да работи npm install --production, --production flag казва npm, хей, искам да инсталирате пакети само от обичайните зависимости.

Зависимостите трябва да съдържат libs и framewors, на които е изградено приложението ви, като Vue, React, Angular, Express, JQuery и др. Ще се съгласите с мен, ако кажа, че вашият проект няма да работи без тези пакети (ако ги използвате , разбира се).

заключение

Обобщавайки, използвайте -dev флаг, ако инсталирате пакети, които ще използвате по време на разработка, и не, ако пакетът, който инсталирате, е за производство.

Благодаря ви, че прочетохте моята статия, ръкопляскайте за тази история, за да ми помогнете да израсна средния си профил, прочетете другите ми статии за програмиране: