Модулі NPM + базові модулі

Для підключення сторонніх модулів до проєкту в Node.js існує зручна система керування модулями NPM. Це публічний репозиторій, створених за допомогою Node.js додаткових програмних модулів.

Команда npm дозволяє встановлювати, видаляти або оновлювати потрібні модулі, які використовуються в проєкті.

При цьому враховуються версії модулів і всі залежності від інших модулів.

Команда встановлення модуля:

terminal
npm install *module_name* [*keys*]

або

terminal
npm i *module_name* [*keys*]

Приклад:

terminal
npm i jsonwebtoken

Після цього оновлюється package.json. У ньому з'являться налаштування залежностей. Це означає, що модуль встановлений і ми його можемо використовувати в проекті

"dependencies": {
  "jsonwebtoken": "^9.0.0"
}
package.json після оновлення
package.json
{
  "name": "es6_modules",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Sasha Khomiak",
  "license": "ISC",
  "type": "module",
  "dependencies": {
    "jsonwebtoken": "^9.0.0"
  }
}

Крім того, у корені проєкту створиться папка nоde_modules, куди зберігаються завантажені модулі і його залежності.

Поширювати вихідний код разом із цією папкою не треба, оскільки всі залежності вказані в package.json. Інший розробник зможе самостійно встановити ці пакети собі на компʼютер з npm запустивши команду.

terminal
npm install

або

terminal
npm i

При встановленні пакетів з npm можна вказувати ключі:

-S або --save - встановлення модуля як основної залежності. Значить, що модуль необхідний для нормального функціонування програми.

-D або --save-dev - встановлення модуля як додаткової залежності. Так встановлюють модулі необхідні для розробки і в ньому немає потреби під час роботи програми.

Після встановлення модуля ми вже можемо його використовувати у нашому проєкті. Шлях через ./ не вказуємо, це означає, що Node.js буде шукати модуль і імпортувати його з папки nоde_modules.

Приклад:

import jsonwebtoken from "jsonwebtoken";

Назву самого пакету заімпортовану в проект ми вже можемо називати як забажаємо. Наприклад jwt замість jsonwebtoken. І далі в проєкті використовувати саме цю назву. Утім шлях має бути вказаний коректно згідно з назвою в nоde_modules.

Всі імпорти модулів мають бути згори файлу. Це зороша практика написання коду. Писати імпорти всередині коду - не допускається.

Базові модулі

Є модулі вже вбудовані в самій Node.js. Їх не треба встановлювати, а можна імпортувати та одразу звертатися до модуля.

index.js
import path from "path";

console.log(path);
terminal
node index.js

В консолі в цьому випадку виведеться опис нашого модуля.

Покликання:

NPM

Last updated