Node Hero: Частина 2 - Використання NPM

5 хв. читання
07 листопада 2020

У цій частині ви дізнаєтесь, що таке NPM і як ним користуватись. Давайте почнемо!

NPM у Nutshell

NPM - це менеджер пакетів, який використовується Node.js-додатками - ви можете знайти там тонни модулів. Це як Maven для Java або Composer для PHP. Є два основних інтерфейси з якими ви будете працювати - веб-сайт NPM та командний рядок NPM.

І веб-сайт, і CLI використовують той самий реєстр для пошуку та відображення модулів.

Веб-сайт

Сайт NPM можна знайти за цією адресою: https://npmjs.com. Тут Ви можете зареєструватися та почати пошук нових пакетів.

Node.js

Інтерфейс командного рядка

Щоб запустити CLI введіть:

npm  

Зверніть увагу, що NPM вже вбудовано у Node.js, так що вам не потрібно встановлювати його окремо - але якщо ви хочете використовувати конкретну версію npm, вам потрібно буде його оновити. Якщо ви хочете встановити третю версію npm, ви можете це зробити за допомогою: npm install npm@3 -g.

Використання NPM

Ви вже зустрічали NPM у попередній статті, коли створювали файл package.json. Давайте дізнаємось про це більше!

Додавання залежностей

У цьому розділі ви дізнаєтесь, як додавати runtime-залежності для вашого додатку.

Після того, як у ви створили свій файл package.json, ви можете додати залежності до вашого додатку. Давайте зробимо це! Спробуйте виконати наступні дії:

npm install lodash --save  

За допомогою цієї команди ми: по-перше, завантажили lodash і помістили його в папку node_modules. Це папка, в якій будуть знаходитись всі ваші зовнішні залежності. Як правило, не потрібно додавати цю папку в контроль версіями, так що якщо ви використовуєте Git, не забувайте додати її в файл .gitignore.

Це може бути гарною відправною точкою для вашого .gitignore.

# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed

# Директорій для інструментованих бібліотек, згенерованих jscoverage/JSCover
lib-cov

# Директорій, який використовується такими інструментами як istanbul
coverage

# Grunt (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf конфігурація
.lock-wscript

# Скомпільовані  бінарні адднони(http://nodejs.org/api/addons.html)
build/Release

# Директорії з залежностями 
node_modules
jspm_packages

# Необов'язкова директорія для npm кешу
.npm

#  Необов'язкова REPL історія  
.node_repl_history

Тепер погляньте на файл package.json! З'явилася нова властивість dependencies:

"dependencies": {
  "lodash": "4.6.1"
}

Це означає, що lodash версії 4.6.1 було встановлено і він готовий до роботи.

Так як lodash готовий до використання, давайте скористуємось ним! Ви можете зробити це так само, як ви робите зі вашими власнимм модулями, але без визначення шляху, потрібно оголосити тільки назву модуля:

// index.js
const _ = require('lodash')

_.assign({ 'a': 1 }, { 'b': 2 }, { 'c': 3 });  
// → { 'a': 1, 'b': 2, 'c': 3 }

Додавання залежностей розробки

У цьому розділі ви дізнаєтесь, як додавати build-time-залежності у ваш додаток.

При розробці веб-додатків, вам потрібно буде мінімізувати ваші JavaScript файли, зв'язати CSS файли тощо. Модулі, які будуть робити це будуть запускатися тільки під час розробки асетів.

Ви можете встановити такі скрипти наступним чином:

npm install mocha --save-dev  

Після того, як ви це зробите, з'явиться новий розділ у вашому файлі package.json під назвою devDependencies. Всі модулі, які ви встановили через --save-dev будуть розміщені там. Вони також будуть розіщені у той самий директорій node_modules.

NPM скрипти

NPM скрипти - це потужна концепція, з їх допомогою ви можете розробляти невеликі утиліти або навіть створювати складні системи розробки.

Найбільш поширеними з них є скрипти start і test. Через start ви можете визначити, як ваш додаток буде запускатись, а test для запуску тестів. У вашому package.json вони можуть виглядати наступним чином:

  "scripts": {
    "start": "node index.js",
    "test": "mocha test",
    "your-custom-script": "echo npm"
  }

На що тут слід звернути увагу:

  • start: досить простий, він описує початкову точку вашого додатку, запускається через npm start.
  • test: цей скрипт спрямований на те, щоб запускати тести - фіча у тому, що в даному випадку mocha не потрібно встановлювати глобально, так як npm буде шукати його в папці node_modules/.bin, і mocha буде розміщено там. Він запускається з: npm test.
  • your-custom-script: все, що ви захочете, ви можете обирати будь-яку назву. Він буде запускатись через npm run your-custom-script - не забудьте run!

Локальні / Приватні Пакети

Раніше NPM мав глобальний простір імен для назв модулів - з більше ніж 250.000 модулів в реєстрі більшість простих назв вже були вже зайняті. Крім того, глобальний namespace містить тільки відкриті модулі.

NPM вирішили цю проблему з введенням локальних пакетів. Такі пакети мають наступну схему іменування:

@myorg/mypackage

Ви можете встановити їх тим самим способом, як ви робили це раніше:

npm install @myorg/mypackage --save-dev  

Усе буде показуватись у вашому package.json наступним чином:

"dependencies": {
  "@myorg/mypackage": "^1.0.0"
}

Включення цих пакетів виглядатиме наступним чином:

require('@myorg/mypackage')  
Далі: Частина 3 - Поняття асинхронного програмування в Node.js
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.8K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація