Npm списък с инсталирани пакети. Въведение в NPM пакетния мениджър за начинаещи. Прекратяване на връзката на пакети с приложения

Има достатъчно документация, която се занимава с въпроса "Защо Node?" Но това, което наистина има значение за мен, не е къде е Node днес, а къде ще бъде утре. Без съмнение общността на Rails донесе много на масата, но тези страхотни идеи са трудни за преглъщане, защото са хванати в капан в Ruby. Колкото и страхотно да е Ruby, не всеки иска да стане разработчик на Ruby.

В зависимост от инсталационния процес, npm може или не може да бъде инсталиран. За да проверите, просто стартирайте:

$ npm --версия

Ако npm не е инсталиран, направете следното:

$ curl http://npmjs.org/install.sh | ш

npm е мениджър на пакети за Node, така че не можете да използвате мениджър на пакети, за да инсталирате мениджър на пакети.

Използване на npm

Сега, когато npm е инсталиран, всички регистрирани пакети са само команда в конзолата. За инсталация на основен пакет изпълнете:

$ npm инсталиране<пакет>

Този метод ще инсталира пакета в папката node_modules спрямо вашия проект. Понякога ще трябва да инсталирате библиотеки глобално, за да имате достъп до тях от кода на всяко приложение, без непременно да ги изисквате като зависимост.

За да направите това, трябва да добавите флага -g по време на инсталационния процес:

$ npm инсталирам -g<пакет>

В зависимост от това как Node.js е инсталиран на вашата система, може да нямате достъп за инсталиране на глобалния пакет. За да заобиколите това, просто добавете командата sudo в началото:

$ sudo npm install -g<пакет>

Използване на npm с проект

Най-често срещаният случай на използване на npm е поддържането на манифест на зависимост за вашия проект. Всичко това се съхранява във файла package.json.

Можете да създадете този файл сами, въпреки че има методи за генериране на този файл. Във всяка папка просто стартирайте npm init и в конзолата ще преминете през поредица от въпроси, в резултат на което ще получите нещо подобно:

("name": "toss-this", "version": "0.0.0", "description": "", "main": "index.js", "scripts": ("test": "echo \ "Грешка: не е посочен тест \" && изход 1 ")," автор ":" "," лиценз ":" ISC ")

Ако вашият проект вече съдържа package.json, е много лесно да добавите пакета към него с помощта на npm install. Просто включете флага --save в командата по следния начин:

$ npm инсталиране<пакет>--запазете

Добавянето на Grunt към проекта ще актуализира package.json чрез добавяне на обект на зависимости към файла:

("name": "toss-this", "version": "0.0.0", "description": "", "main": "index.js", "scripts": ("test": "echo \ "Грешка: не е посочен тест \" && изход 1 ")," автор ":" "," лиценз ":" ISC "," зависимости ": (" grunt ":" ^ 0.4.5 "))

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

$ npm инсталиране<пакет>--save-dev

Чрез добавяне на Gulp като зависимост за разработка, обектът devDependencies се появява във файла package.json:

("name": "toss-this", "version": "0.0.0", "description": "", "main": "index.js", "scripts": ("test": "echo \ "Грешка: не е посочен тест \" && изход 1 ")," автор ":" "," лиценз ":" ISC "," зависимости ": (" grunt ":" ^ 0.4.5 ")," devDependencies ": ("глътка": "^ 3.6.2"))

Научете повече за npm

npm е изненадващо сложна помощна програма, когато става въпрос за управление на пакети. Вижте този npm cheat sheet за повече подробности.

Научете повече за package.json

package.json съдържа много функции. За да научите повече за това как работи всичко, посетете

Node.js прави възможно писането на приложения от страна на сървъра в JavaScript. Той е изграден на JavaScript V8 двигателя и написан на C ++ - и следователно е бърз. Първоначално е създаден като сървърна среда за приложения, но разработчиците започнаха да го използват за създаване на инструменти за подпомагане на автоматизирането на локални задачи. В резултат на това новата екосистема от инструменти (като Grunt и Gulp), която се появи около Node.js, доведе до трансформация на процеса на разработка на предния край.

За да използваме всички тези инструменти (или пакети) в Node.js, се нуждаем от възможността да ги инсталираме и управляваме. За това е създаден npm, мениджърът на пакети Node.js. Той инсталира пакетите, от които се нуждаете, и предоставя удобен за потребителя интерфейс за работа с тях. Но преди да можете да започнете да използвате npm, трябва да имате инсталиран Node.js във вашата система.

Инсталиране на Node.js

За тази статия ще използваме стабилната версия 5.7.0.

Можете да видите къде е инсталиран Node и да проверите версията със следните команди:

$ кой възел / usr / локален / bin / възел $ възел -- версия v5.7.0

За да проверим дали инсталацията е била успешна, нека изпълним няколко команди в проста интерактивна среда на възли (REPL).

$ node> console.log ("Node работи"); Node работи> .help .break Понякога се забивате, това ви измъква .clear Псевдоним за .break .exit Излезте от repl .help Покажи repl опции .load Зареди JS от файл в сесията REPL .save Запиши всички оценени команди в тази REPL сесия към файл> .exit

Инсталацията работи, така че вече можем да се съсредоточим върху npm, който е включен в инсталацията.

$ which npm / usr / local / bin / npm $ npm --версия 3.6.0

Възлови пакети

Можете да инсталирате пакети локално или глобално с npm. В локален режим пакетите се инсталират в директорията node_modules на родителската директория. Директорията е собственост на текущия потребител. Глобалните пакети се инсталират в директорията (prefix) / lib / node_modules /, която е собственост на root (префиксът в този случай обикновено е / usr / или / usr / local). Това означава, че трябва да използвате sudo, за да инсталирате пакети глобално, което може да доведе до грешки в разрешенията при разрешаване на зависимости от трети страни и също така създава проблем със сигурността. Нека променим това:

Промяна на местоположението за инсталиране на глобални пакети

Нека видим какво ни казва командата npm config.

$ npm списък с конфигурации; cli configs user-agent = "npm / 3.6.0 node / v5.7.0 linux x64"; местоположение на възел bin = / usr / local / bin / node; cwd = / начало / точка на сайта; НАЧАЛО = / начало / точка на сайта; "npm config ls -l", за да се покажат всички настройки по подразбиране.

Получихме основна информация за инсталацията. Сега е важно да разберете къде са инсталирани глобалните пакети:

$ npm config получава префикс / usr / local

Искаме да променим този префикс, така че пакетите да се инсталират в нашата домашна директория. За да направите това, създайте папка .node_modules_global във вашата домашна директория и я посочете като място за инсталиране на пакети в конфигурацията:

$ cd && mkdir .node_modules_global $ npm config set prefix = $ HOME / .node_modules_global

С такава малка промяна в конфигурацията сменихме мястото за глобална инсталация на пакети. Npmrc файл също се появи в нашата домашна директория.

$ npm config get prefix /home/sitepoint/.node_modules_global $ cat .npmrc префикс = / home / sitepoint / .node_modules_global

Самият Npm все още е инсталиран в директория, собственост на root. Но тъй като сме променили местоположението за инсталиране на глобалните пакети, можем да се възползваме от полученото предимство. Ще инсталираме npm отново, но сега на мястото, което посочихме. Заедно с него ще получим и най-новата версия на npm.

$ npm install npm --global /home/sitepoint/.node_modules_global/bin/npm -> /home/sitepoint/.node_modules_global/lib/node_modules/npm/bin/npm-cli.js /home/sitepoint/.node_lib_global/ └── [защитен с имейл]

И накрая, трябва да добавим .node_modules_global / bin към нашата променлива на средата $ PATH, за да можем да стартираме глобални пакети от командния ред. Правим това, като добавяме следния ред към файла .profile или .bash_profile и рестартираме терминала.

Export PATH = "$ HOME / .node_modules_global / bin: $ PATH"

Сега обвивката веднага ще намери пакети, инсталирани в .node_modules_global / bin и ще използва правилната версия на npm.

$ which npm /home/sitepoint/.node_modules_global/bin/npm $ npm --версия 3.7.5

Инсталиране на пакети в световен мащаб

В момента вече имаме един глобален пакет - това е самият npm пакет. Нека променим това и инсталираме друг пакет, който е UglifyJS (инструмент за минимизиране на JavaScript). За глобална инсталация се използва флагът --global, който може да бъде съкратен като -g.

$ npm install uglify-js --global /home/sitepoint/.node_modules_global/lib └─┬ [защитен с имейл] ├── [защитен с имейл] ├── [защитен с имейл] ├── [защитен с имейл] └─┬ [защитен с имейл] ├── [защитен с имейл] ├─┬ [защитен с имейл] │ ├─┬ [защитен с имейл] │ │ ├─┬ [защитен с имейл] │ │ │ ├─┬ [защитен с имейл] │ │ │ │ └── [защитен с имейл] │ │ │ ├── [защитен с имейл] │ │ │ └── [защитен с имейл] │ │ └── [защитен с имейл] │ ├── [защитен с имейл] │ └── [защитен с имейл] ├─┬ [защитен с имейл] │ └── [защитен с имейл].0.5 └── [защитен с имейл]

Както можете да видите от изхода на конзолата, имаме инсталирани допълнителни пакети - това са UglifyJS зависимости.

Избройте инсталираните пакети

Можем да изброим глобално инсталираните пакети с помощта на командата npm list с опцията --global:

$ npm списък --глобален ├─┬ [защитен с имейл] │ ├── [защитен с имейл] │ ├── [защитен с имейл] │ ├── [защитен с имейл] │ ├── [защитен с имейл].................... └─┬ [защитен с имейл] ├── [защитен с имейл] ├── [защитен с имейл] ├── [защитен с имейл]

Този списък, с всички зависимости, е пренаситен. Можем да го изведем по по-четлив начин с опцията --depth = 0:

$ npm списък -g --дълбочина = 0 ├── [защитен с имейл] └── [защитен с имейл]

По-добре е - сега виждаме само списък с инсталирани пакети с номерата на техните версии, без зависимости.

Вече можем да обработваме JavaScript файлове в терминала с помощта на UglifyJS. Например, следната команда ще минимизира example.min.js от example.js:

$ uglifyjs example.js -o example.min.js

Инсталиране на пакети локално

Локалната инсталация се използва по подразбиране в npm, тоест достатъчно е да не се използва флагът --global. Пакетът ще бъде инсталиран в директорията node_modules на родителската директория. Нека създадем директория с проект в нашата домашна директория:

$ mkdir ~ / проект && cd ~ / проект $ npm инсталирай долно черта / начало / точка на сайта / проект └── [защитен с имейл]$ ls node_modules $ ls долна черта на node_modules

Избройте локални пакети

Както при глобалните пакети, списъкът с локални пакети се показва с командата npm list:

$ npm списък / начало / точка на сайт / проект └── [защитен с имейл]

Както можете да видите, можем да инсталираме локални пакети където пожелаем. Това също означава, че можем да създадем различна директория и да инсталираме друга версия на пакета там (в нашия случай това е библиотеката с долни черти).

Премахване на локални пакети

Тъй като npm е мениджър на пакети, той има възможността да премахва пакети. Да предположим, че версията на долната черта, инсталирана в предишния пример, причинява проблеми със съвместимостта. Можем да премахнем този пакет и да изпратим по-стара версия.

долно черта за деинсталиране на $ npm - [защитен с имейл] node_modules / долно черта $ npm списък / начало / точка на сайт / проект └── (празен)

Инсталиране на конкретна версия на пакет

Сега нека инсталираме необходимата версия на долната черта. В командата за инсталиране номерът на версията е посочен след символа @:

$ npm инсталиране [защитен с имейл]/ начало / точка на място / проект └── [защитен с имейл]$ npm списък / начало / точка на сайт / проект └── [защитен с имейл]

Актуализация на пакета

В най-новата версия на долното подчертаване поправихме грешка, която ни попречи и искаме да актуализираме версията на този пакет.

$ npm долно черта за актуализация [защитен с имейл] node_modules / долно черта $ npm списък / начало / точка на сайт / проект └── [защитен с имейл]

Забележка: за тази статия библиотеката с долни черти беше посочена като зависимост в package.json (вижте).

Търсене на пакети

Използвахме командата mkdir вече няколко пъти. Има ли пакет с възли с подобна функционалност?

$ npm търсене mkdir npm ПРЕДУПРЕЖДЕНИЕ Изграждане на локалния индекс за първи път, моля, бъдете търпеливи

Заключение

Тази статия обхваща основите на работата с npm. Показах ви как да инсталирате Node.js, как да промените къде се инсталират глобалните пакети (по този начин можем да избегнем използването на sudo) и как да инсталирате пакети локално и глобално. Разгледах също деинсталирането, актуализирането и инсталирането на конкретна версия на пакет и управлението на зависимостите на проекта.

В директорията npm има хиляди пакети и ще продължат да нарастват с обявяването на jQuery за публикуване на всички плъгини като npm пакети.

  • Превод

npm е мениджърът на пакети node.js. Може да се използва за управление на модули и зависимости.
Малка измама с всичките ми любими npm команди:

Инсталирайте npm

Npm актуализация

Има няколко начина за актуализиране на npm. Предпочитам:
curl https://npmjs.org/install.sh | ш
или
npm инсталирам npm -g

Намиране на пакети в npm

npm search hook.io
Съвет: Можете също да използвате search.npmjs.org
Втори съвет: За да търсите, трябва да знаете името на необходимия пакет (всичко изглежда страхотно за всяка дума както в името на пакета, така и в описанието му, може би сте го превели погрешно?)

Преглед на информация за пакета

npm view hook.io

Инсталиране на пакети локално

Нека вземем пакета http-сървър за демонстрация.
http-сървърът е пакет, който сме написали, който предоставя лесна за използване обвивка около основния клас http.Server на възела. Този модул е ​​добър пример, тъй като неговият API предоставя както CLI двоичен файл, така и задължителен модул node.js.
http-сървър – пакетът, който написахме, предоставя по-опростен интерфейс за използване на основния модул http.Server от node.js. Този модул е ​​добър пример за използване на API както за двоичния CLI, така и за плъгина node.js.
npm инсталира http-сървър
Това ще инсталира http-сървъра в нашата работна директория.
Ще видите нова папка под node_modules. Сега можете да го игнорирате.

Инсталиране на пакет в нашето приложение

mkdir mynewapp / cd mynewapp npm инсталирайте http-сървър touch test.js
test.js
var HTTPServer = изисквам ("http-сървър"); var httpServer = нов HTTPServer ((root: "./public")); httpServer.start ();
стартирайте скрипта
възел test.js
Забележете как правим: изискваме („http-сървър“)? Каква е тази магия? (браво от автора)
http-сървърът не е основен модул node.js. Току-що инсталирахме този пакет от npm. Node.js и npm взаимодействат и автоматично свързват нашите локални модули от директорията node_modules.

Разбиране на разликата между глобална и локална инсталация

По подразбиране npm ще инсталира всички пакети в локалната директория, в която работите в момента. Правилно е.Това може да изглежда малко объркващо, ако преди сте работили с предишни системи за управление на пакети.
Например: mkdir anotherapp / cd anotherapp / touch test.js
test.js
var HTTPServer = изисквам ("http-сървър");
сега нека стартираме нашия скрипт
възел test.js
получаваме тази грешка:
node.js: 134 хвърляне e; // грешка в process.nextTick или събитие "error" при първия тик ^ Грешка: Не може да се намери модул "http-сървър" в Function._resolveFilename (module.js: 326: 11) в Function._load (module.js: 271: 25) при изискване (module.js: 355: 19) при Object. (/Users/maraksquires/dev/nodeapps/anotherapp/test.js:1:80) в Module._compile (module.js: 411: 26) в Object..js (module.js: 417: 10) в Module. load (module.js: 343: 31) в Function._load (module.js: 302: 12) в Array. (module.js: 430: 10) в EventEmitter._tickCallback (node.js: 126: 26)
Това има смисъл, инсталирахме http-сървъра локално в "/ mynewapp /", а не в "/ anotherapp /".
Има две решения на тази ситуация:
а) Инсталирайте пакета отново, но локално в нашето ново приложение
cd друго приложение / npm инсталирайте http-сървър
б) Инсталирайте пакета глобално
npm инсталира http-сървър -g

Инсталиране на пакети в световен мащаб

Ако искате пакетът да е достъпен за всички приложения, трябва да го инсталирате глобално:
npm инсталира http-сървър -g
Флагът -g означава, че http-сървърът трябва да бъде инсталиран глобално и да бъде достъпен за всички приложения.
Сега можем да го наречем изискване („http-сървър“) във всяко от нашите приложения.

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

Премахване на локално инсталиран пакет

npm деинсталира http-сървър

Премахване на глобално инсталиран пакет

npm деинсталиране на http-сървър -g

Инсталиране на конкретна версия на пакет

npm инсталиране [защитен с имейл]

Инсталиране на модул от Github

Важно. В някои случаи ще има пачове, разклонения или клонове, които искате да използвате, но които все още не са публикувани в npm. За щастие, изходният код за повечето npm модули също е достъпен на www.github.com
git клонинг git: //github.com/nodeapps/http-server.git cd http-server / npm връзка
Сега нашата клонирана версия на http-сървъра е свързана локално.

Свържете всички пакети локално

Ако имате отделна директория, съдържаща пакета npm, можете да създадете локална връзка за нея. Това е полезно в ситуации, когато не искаме да публикуваме нашия пакет в npm хранилището.
cd http-сървър / npm връзка
В нашата локална версия http-сървърът е "свързан" за нашата локална машина. (Връзката се създава като "copy-paste", от самото начало трябва да отидете в желаната директория и да направите "copy", след това отидете до желаната директория и направете "paste". Така че сега проучихме как "copy" е направено и по-долу ще става дума за "поставяне" на този модул)

Локални пакетни асоциации за множество приложения

Както видяхме по-рано, npm инсталира пакети в локална директория по подразбиране. Така че npm връзката (връзката) работи по почти същия начин.
mkdir newapp / cd newapp / npm връзка http-сървър
Посочваме, че вече създадохме връзка от http-сървъра към нашето ново приложение, newapp. Ако не бяхме стартирали npm link http-сървър, щяхме да получим грешка за липсващ модул. (и тук е нашия и "пасте", както написах по-горе, сега трябва да разберете логиката на създаване на връзки)

Прекратяване на връзката на пакети с приложения

cd newapp / npm прекратяване на връзката с http-сървър
(тук просто отменяме нашата "паста" за това приложение)

JavaScript става все по-твърдо утвърден като език за уеб разработчици. Разработчиците на Front-end използват JavaScript, за да добавят интерактивност към потребителите, както и да комуникират директно с back-end услуги, използвайки AJAX.

JavaScript предоставя огромен брой възможности. Можете безопасно да подобрите уменията си, без да се притеснявате, че няма да можете да разработите пълноценни уеб приложения. Ключов компонент на Node.js е революцията на Chrome V8 JavaScript, която позволява JavaScript да се използва дори от страна на сървъра.

Node.jsможе да се използва и за писане на настолни приложения, както и за разработване на инструменти, които правят процеса на разработване на уеб приложения още по-бърз. Например, с Node.js можете да превърнете CoffeeScript в JavaScript или SASS в CSS и много други.

NPMпомага за инсталиране на различни модули за Node.js по удобен начин.

Предговор

Node не е обикновена настолна програма. Няма да се инсталира като Word или Photoshop и няма да имате пряк път на работния плот. Може да се използва само с конзолни инструкции (с които трябва да сте поне малко запознати). В началото ще ви се стори, че не е удобно, но скоро ще свикнете и всичко ще си дойде на мястото.

Описание на инсталацията

Инсталирането на Node.js и NPM е много лесно. Всичко, което трябва да направите, е да отидете на официалния уебсайт на разработчика, да изтеглите файла и да го инсталирате на вашия компютър.

Стъпки за инсталиране

Тестване

За да сте сигурни, че всичко е инсталирано правилно, следвайте трите прости стъпки по-долу.

Тестване на Node.js.Отворете конзолата на Windows и въведете node -v.

Тестване на NPM.Отворете конзолата на Windows и въведете npm -v.

Създайте файл.Създайте произволен файл, ще го кръстя hello.js и ще напиша console.log ("Node.js е инсталиран"); и след това с помощта на командата node ще извикам файла hello.js: node hello.js - това трябва да покаже "Node.js е инсталиран."

Как да актуализирам Node.js?

За да го актуализирате, трябва да изтеглите отново инсталатора и да повторите целия процес отначало.

Последна актуализация: 18.11.2018г

В допълнение към вградените и персонализирани модули Node.js, има огромен слой от различни библиотеки и рамки, различни помощни програми, които са създадени от доставчици на трети страни и които също могат да се използват в проект, например express, grunt , глътка и така нататък. И те също са достъпни за нас в Node.js. За да се улесни работата с всички решения на трети страни, те се разпространяват като пакети. Пакетът е по същество набор от функционалности.

За автоматизиране на инсталирането и актуализирането на пакети, като правило, се използва система за управление на пакети или мениджъри. Директно в Node.js за тази цел се използва мениджърът на пакети NPM (Node Package Manager). NPM се инсталира по подразбиране с Node.js, така че не се изисква допълнителна инсталация. Но можете да актуализирате инсталираната версия до най-новата. За да направите това, изпълнете следната команда в командния ред / терминала:

Инсталиране на Npm [защитен с имейл]

За да разберете текущата версия на npm, въведете следната команда в командния ред / терминала:

За нас npm мениджърът е важен в смисъл, че е лесно да управляваме пакети с него. Например, нека създадем нова папка modulesapp на твърдия диск (В моя случай папката ще бъде разположена по пътя C: \ node \ modulesapp).

След това, например, нека инсталираме express. Express предоставя олекотена уеб рамка за лесна работа с Node.js. В този случай все още няма да разглеждаме рамката Express подробно, тъй като това е отделна голяма тема. И ние го използваме само за да разберем как модулите на трети страни са инсталирани в проекта.

За да инсталирате експресната функционалност в проект, първо отидете до папката на проекта с помощта на командата cd. След това въвеждаме командата

Npm install Express

След инсталиране на express, подпапката node_modules ще се появи в папката на проекта modulesapp, в която ще се съхраняват всички инсталирани външни модули. По-специално, файловете на рамката на Express ще бъдат разположени в поддиректорията node_modules / express.

// получаване на модула Express const express = require ("express"); // създаване на приложение const app = express (); // задаване на манипулатор за маршрута "/" app.get ("/", функция (заявка, отговор) (response.end ("Здравей от Express!");)); // започнете да слушате за връзки на порт 3000 app.listen (3000);

Първият ред инсталира експресния модул, а вторият създава обекта на приложението.

В Express можем да свържем обработката на заявки с конкретни маршрути. Например, "/" - представлява главната страница или основния маршрут. Функцията app.get () се извиква, за да обработи заявката. Първият параметър на функцията е маршрутът, а вторият е функцията, която ще обработи заявката по този маршрут.

И за да започне сървърът да слуша за връзки, трябва да извикате метода app.listen (), на който се предава номерът на порта.

Нека стартираме сървъра с командата node app.js:

И в адресната лента на браузъра въведете адреса http: // localhost: 3000 /:

Файл Package.json

За по-удобно управление на конфигурацията и пакетите на приложения, npm използва конфигурационния файл package.json. И така, добавете нов файл package.json към папката на проекта modulesapp:

("име": "modulesapp", "версия": "1.0.0")

Тук са дефинирани само две секции: името на проекта е modulesapp и неговата версия е 1.0.0. Това е минималната необходима дефиниция на файла package.json. Този файл може да включва много повече секции. Повече подробности можете да намерите в документацията.

Сега нека добавим отново express със следната команда:

Npm install express --save

Флагът --save показва, че информацията за добавения пакет трябва да бъде добавена към файла package.json.

И след като изпълним командата, ако отворим файла package.json, ще видим информация за пакета:

("име": "modulesapp", "версия": "1.0.0", "зависимости": ("express": "^ 4.14.0"))

Информацията за всички добавени пакети, които се използват при стартиране на приложението, се добавя към секцията зависимости.

Файлът package.json играе голяма роля и може да улесни разработването в различни ситуации. Например, когато се хостваме в различни хранилища, често сме ограничени до разпределеното дисково пространство, докато папката node_modules с всички изтеглени пакети може да заеме доста прилично пространство. В този случай е по-удобно да поставите основния код на проекта без node_modules. В този случай можем да дефинираме всички пакети във файла package.json и след това да изпълним командата за изтегляне на всички пакети

Тази команда ще вземе дефиницията на всички пакети от секциите за зависимости и ще ги зареди в проекта.

devDependencies

В допълнение към пакетите, които се използват в приложението, когато то работи, например express, тоест в състояние "производство", има и пакети, които се използват при разработването на приложението и тестването му. Такива пакети се добавят към друг раздел - devDependencies. В горния пример той не е дефиниран, но ако добавим някакво грухтене или глъткане, те ще бъдат в секцията devDependencies.

Например, нека заредим пакета jasmine-node в проекта, който се използва за тестване на приложението:

Npm инсталирате jasmine-node --save-dev

Флагът --save-dev показва, че информацията за пакета трябва да бъде запазена в секцията devDependencies на файла package.json:

("name": "modulesapp", "version": "1.0.0", "dependencies": ("express": "^ 4.14.0"), "devDependencies": ("jasmine-node": "^ 1.14 .5"))

Премахване на пакети

Командата npm uninstall се използва за премахване на пакети. Например:

Експресно деинсталиране на Npm

Тази команда премахва пакета от папката node_modules, докато информацията за този пакет остава във файла package.json. За да премахнете информация и от package.json, използвайте флага --save:

Npm uninstall express --save

Семантично управление на версиите

При определяне на версията на пакета се прилага семантично управление на версиите. Номерът на версията обикновено се посочва в следния формат "major.minor.patch". Ако се открие грешка в приложението или пакета и тя бъде отстранена, тогава броят на "кръпките" се увеличава с едно. Ако към пакета е добавена нова функционалност, която е съвместима с предишната версия на пакета, това е малка промяна и „незначителният“ брой се увеличава. Ако обаче се направят някои големи промени в пакета, които са несъвместими с предишната версия, тогава броят на "основните" се увеличава. Тоест, разглеждайки различните версии на пакетите, можем да предположим колко големи са разликите.

В експресния пример версията на пакета съдържаше и допълнителен знак за карета: "^ 4.14.0". Този символ означава, че когато инсталирате пакет към проект с помощта на командата npm install, ще бъде инсталирана най-новата налична версия от 4.14.0. Всъщност това ще бъде последната налична версия между 4.14.0 и 5.0.0 (> = 4.14.0 и<5.0.0). Более подробно про сематическое версионирование в npm можно посмотреть .

Npm команди

NPM ви позволява да дефинирате команди във вашия файл package.json, които изпълняват конкретни действия. Например, нека дефинираме следния файл app.js:

Нека име = process.argv; нека възраст = process.argv; console.log ("име:" + име); console.log ("възраст:" + възраст);

В този случай получаваме параметрите, предадени на приложението при стартиране.

И дефинирайте следния файл package.json:

("име": "modulesapp", "версия": "1.0.0", "скриптове": ("start": "node app.js", "dev": "node app.js Tom 26"))

Тук е добавен раздел със скриптове, който дефинира две команди. Като цяло може да има много екипи в съответствие с целите и задачите на разработчика.

Първата команда се нарича старт. По същество той изпълнява командата node app.js, която изпълнява кода във файла app.js.

Втората команда се нарича dev. Той също така изпълнява същия файл, но също така му предава два параметъра.

Имената на командите могат да бъдат произволни. Но тук трябва да се има предвид една точка. Има, относително казано, запазени имена за команди, например start, test, run и редица други. Не са много много от тях. И само първата команда от дефинирания по-горе файл package.json се нарича start. И за да изпълните такива команди в терминала / командния ред, трябва да изпълните командата

Npm [име_на_команда]

Например, за да изпълните командата за стартиране

Старт на Npm

Други команди като "dev" в горния файл се изпълняват по следния начин:

Npm стартиране [име_на_команда]

Например, нека изпълним и двете команди последователно.