Если вы баловались каким-либо Javascript или NodeJS, вы, вероятно, сталкивались с npm. npm, или «менеджер пакетов узлов», является одновременно реестром программного обеспечения с открытым исходным кодом и клиентом командной строки, позволяющим разработчикам взаимодействовать с npm. Менеджер пакетов — это часть программного обеспечения, позволяющая загружать и устанавливать программное обеспечение. Вы можете сравнить это с Google Play Store или Apple App Store, где вы можете загружать свои приложения и управлять ими. npm позволяет разработчикам по всему миру использовать, создавать и совместно использовать повторно используемый код для своих проектов.

Как использовать нпм

npm поставляется в комплекте с NodeJS, поэтому, если у вас загружен NodeJS, у вас также должен быть npm. Чтобы проверить, есть ли они у вас, введите свой терминал node -v и npm -v и ожидайте возврата номера их версии. Если ничего не возвращается, выполните следующие действия:

  1. Загрузите и установите NodeJS. (Если он у вас уже установлен, вы можете запустить npm install npm@latest -g, чтобы обновить npm до последней версии)
  2. Создайте файл package.json.
    Этот файл package.json содержит метаданные, относящиеся к вашему проекту, и предоставляет информацию для npm, которая позволяет ему идентифицировать проект и обрабатывать его зависимости.
    Запустите npm init и следуйте инструкциям.
package name: 
version: (1.0.0)
description: 
entry point: 
test command:
git repository:
keywords:
author:
license: (ISC)

3. Установите пакеты npm
Существуют тысячи пакетов npm, и вы можете просмотреть их здесь.
Выполнить npm install -- save module-name. --save добавит зависимость в ваш файл package.json.

4. (NodeJS) Требовать модуль в файле
Следуйте документации и добавьте правильные требования.
Например, согласно документации lodash, они предлагают добавить var _ = require(‘lodash’); в ваш файл .js, чтобы загрузите полную библиотеку lodash.

10 самых зависимых пакетов npm

  1. Lodash — библиотека методов Javscript, отлично подходящая для перебора массивов, объектов, строк; манипулирование и тестирование значений; создание составных функций
  2. React — библиотека Javascript для создания пользовательских интерфейсов.
  3. Chalk — стилизация терминальной строки
  4. Запрос — упрощенный HTTP-клиент, поддерживает HTTPS и следует перенаправлениям по умолчанию.
  5. Commander — комплексное решение для интерфейсов командной строки node.js, вдохновленное commander Ruby.
  6. Moment — библиотека дат Javascript для анализа, проверки, обработки и форматирования дат.
  7. Экспресс — быстрый, простой, минималистичный веб-фреймворк для узла.
  8. React-dom — точка входа в DOM и серверные рендереры для React, предназначенная для сопряжения с общим пакетом React.
  9. Tslib — библиотека времени выполнения для TypeScript, содержащая все вспомогательные функции TypeScript.
  10. Prop-types — проверка типа во время выполнения для React props и подобных объектов.

Нехватка NPM

Вредоносные пакеты
Поскольку npm является открытым реестром, где каждый может внести свой вклад в репозиторий, любой, у кого установлен клиент npm, уязвим для вредоносного кода. Вредоносный код может привести к нарушениям безопасности и деструктивным командам с помощью сценариев атаки, вирусов и т. д.

Вы можете легко установить вредоносный пакет из-за случайной опечатки. Например, вы хотели бы установить npm install -- save react-dom, но вместо этого случайно набрали npm install -- save react.dom. Это называется опечатка.

К счастью, npm признал эту проблему и выпустил новые правила: «Если вы публикуете новый пакет, то есть пакет, которого раньше не было в реестре, мы удаляем знаки препинания из его имени и сравниваем его с существующими именами пакетов. . Если имена совпадают без знаков препинания, мы не разрешаем создание пакета». Тем не менее, будьте внимательны при установке пакетов npm.

Дисковое пространство
Когда доступны тысячи пакетов, вы можете обнаружить, что накапливаете все больше и больше модулей npm, и, следовательно, на вашем устройстве используется больше места на диске.

Ну, для этого есть пакет! pnpm — это быстрый менеджер пакетов, экономящий место на диске. Но теперь вопрос, это усугубляет проблему или смягчает ее?

Ресурсы:

Ссылки:

О нпм. (н.д.). Получено 26 июля 2020 г. с https://docs.npmjs.com/about-npm/

Node.js. (н.д.). Что такое нпм? Получено 27 июля 2020 г. с https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/

Node.js. (н.д.). Что такое файл `package.json`? Получено 27 июля 2020 г. с https://nodejs.org/en/knowledge/getting-started/npm/what-is-the-file-package-json/

Npmjs. (2017, 02 августа). вредоносное ПО crossenv в реестре npm. Получено 27 июля 2020 г. с сайта

Npmjs. (2017, 27 декабря). Новые правила для моникеров пакетов. Получено 27 июля 2020 г. с https://blog.npmjs.org/post/168978377570/new-package-moniker-rules.

Опечатка. (2020, 17 июня). Получено 27 июля 2020 г. с https://en.wikipedia.org/wiki/Typosquatting.

изображение: https://i.redd.it/5w8tp1t1nrb51.jpg

изображение: https://i.redd.it/xra0td12zm451.jpg