NPM
Цікавий факт:
npm
— це не абревіатура, тому не можно розширити його на окреми слова, але його зазвичай називаютьменеджер пакунків (node package manager)
.
npm
— це бінарний файл, який постачається разом зі стандартними установками node
, які використовуються для керування спільними пакетами JavaScript / TypeScript.
Пакети NPM розміщено (і вони можуть бути інсталовані з) https://www.npmjs.com/ (☁️).
Quick common setup
Швидке налаштування.
пакети npm налаштовуються за допомогою файлу
package.json
. Ви можете швидко створити цей файл за допомогоюnpm init -y
.пакети встановлюються в папку
./node_modules
. Зазвичай назва цієї папки є у вашому.gitignore
.
Навіть якщо ви створюєте програму, наявність
package.json
також робить ваш проект пакетом. Отже, термінипроект| пакет (project | package)
можна використовувати як взаємозамінні.
Коли ви перевіряєте роботу іншого пакету, він матиме package.json
, який містить список залежностей, необхідних для запуску проекту. Ви просто запускаєте npm install
, та npm перенесе всі потрібні пакети із хмарного середовища ☁️.
Installing a package
Встановлення пакета. Ви можете запустити npm install <назва пакету>
. Більшість розробників використовуватиме скорочений варіант команди - npm i <назва пакету>
.Наприклад, якщо ви бажаєте встрановити пакет React
Це також автоматично додасть
react
дозалежностей
вашогоpackage.json
.
Installing a devDependency
Встановлення devDependency devDependencies
— це залежності, які потрібні лише під час розробки вашого проекту та не потрібні після його розгортання на сервері.
typescript
є поширеним у devDependencies
, оскільки він потрібен лише для перетворення файлів .ts -> .js
. Зазвичай ви розгортаєте на сервері скомпільовані файли .js
:
у продакшн
АБО для використання іншими пакетами npm
Security
Безпека Загальнодоступні пакунки npm
скануються командою безпеки по всьому світу, і про проблеми повідомляються команді npm. Потім вони випускають поради щодо безпеки з докладним описом проблеми та можливих виправлень. Зазвичай виправлення полягає в простому оновленні пакета.
Ви можете запустити аудит свого проекту, просто запустивши npm audit
. Це висвітлить будь-які вразливості, які можуть існувати в пакеті / залежностях пакета. Наприклад:
Зауважте, що зазвичай проблеми виникають у залежностях розробки (devDependencies) (наприклад, у цьому випадку пакет jest). Оскільки вони не є частиною вашої продакшн збірки, швидше за все, ваша робоча програма не є вразливою. Але хороша практика, щоб вразливості залишалися 0
.
Просто додайте npm audit
(команда завершить виконання з кодом 1
у разі помилки) як частину вашого розгортання, щоб забезпечити актуальність проектів.
NPM Scripts
What is with --
in scripts
--
in scriptsЩо таке --
у скриптах. Ви можете створити базовий скрипт з обмеженим набором аргументів командного рядка, наприклад, ось цільовий скрипт, який запускає tsc
для компілятора TypeScript:
Ви можете створити посилання build:watch
для запуску tsc -p. -w
або, як альтернатива, попросити npm запустити build
з додатковим прапором -w
так:
Ви можете передати скільки завгодно прапорців після --
, наприклад, у наступному прикладі build:more
має той самий ефект, що something --foo -f -d --bar
Public vs. Private packages
Публічні чи приватні пакети. Вам не потрібно щось змінювати, коли використовуєте будь-який з поширених публічних пакетів npm. Просто знайте, що приватні пакети створюють для корпоративних/комерційних клієнтів.
Public packages
Публічні пакети.
За замовчуванням пакети загальнодоступні.
Кожен може створити власний пакет для npm.
Вам просто потрібен обліковий запис (який ви можете отримати безкоштовно).
Нікому не потрібен обліковий запис, щоб завантажити публічний пакет.
Цей безкоштовний обмін пакетами є однією з ключових причин успіху npm 🌹.
Private packages
Приватні пакети.
Якщо вам потрібен приватний пакет для вашої компанії/команди/підприємства, вам потрібно купити платну підписку, деталі тут: https://www.npmjs.com/pricing
Звичайно, вам потрібен обліковий запис із відповідними дозволами для завантаження приватного пакета.
Last updated