Как установить библиотеку в node js
Перейти к содержимому

Как установить библиотеку в node js

  • автор:

Добавить библиотеку в проект Node.js Express app

Пытаюсь освоить WebStorm. Создал проект Node.js Express App. Хочу добавить библиотеку. Установил ее: $ npm install vsvg-paths Я как понимаю, нужно в app.js ее подключить. Пытаюсь сделать это так: var vsvg_paths = require(«vsvg-paths»); app.use(vsvg_paths.decode()); Но мне тактично сообщают, что я делаю, что-то не так (говорит, что decode() не является функцией или просто ошибка подключения библиотеки, если укажу decode не как функцию). Подскажите, как правильно подключить библиотеку или где почитать об этом? Вот сама библиотека https://github.com/jcblw/vsvg-paths

Отслеживать

Александр Касиков

задан 28 фев 2018 в 6:36

Александр Касиков Александр Касиков

106 8 8 бронзовых знаков

А что вы пытаетесь получить вызовом app.use(vsvg_paths.decode()); ?

28 фев 2018 в 7:27

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

Установка библиотек через npm в JavaScript

С помощью npm установить нужную библиотеку очень легко. Нужно открыть терминал в папке вашего проекта и выполнить следующую команду:

npm install имя_библиотеки

Для примера давайте установим библиотеку lodash:

npm install lodash

Установленная библиотека попадет в папку node_modules . При этом, если у библиотеки есть зависимости, они также будут установлены в эту папку как отдельные библиотеки.

Библиотеки, установленные через npm, можно подключать к HTML файлу. Но делать этого не стоит, так как они представляют собой . Такие библиотеки следуюет подключать особым образом. Мы будем проходить это в следующих разделах учебника. А пока просто научимся устанавливать библиотеки через npm.

Установите через npm библиотеку underscorejs. Изучите папку node_modules .

Установите через npm библиотеку jQuery. Изучите папку node_modules .

Шпаргалка: Python vs NodeJS

Это статья-шпаргалка, чтобы быстро разобраться в мире серверного JavaScript. Здесь вы узнаете как соотносятся привычные инструменты Python и их аналоги в мире JS.

Как запустить скрипт?

Python: python
JS: node или nodejs

Как выбрать версию интерпретатора?

Python: Используйте pyenv для выбора версии Python
JS: Используйте nvm для выбора версии NodeJS

Виртуальное окружение

Как создать окружение?

Python: python -m venv
JS: cd ; npm init или то же самое с yarn вместо npm , они взаимозаменяемы

Как удалить окружение?

Python: rm -r
JS: rm -r node_modules

Установка пакетов

Как поставить библиотеку глобально на ОС?

Python: pip install
JS: npm install -g

Как установить библиотеку в виртуальное окружение?

Python: source ./venv/bin/activate; pip install
JS: npm install

Откуда качать библиотеки? Где их будет искать пакетный менеджер?

Python: Библиотека пакетов pypi.org, pip качает их оттуда
JS: Библиотека пакетов npmjs.com, npm берёт их оттуда

Работа с зависимостями

Где хранить список зависимостей?

Python: В питоне несколько подходов. Используют requirements.txt , либо pyproject.toml .
JS: Есть один, единый подход, хранятся в package.json

Где хранить зависимости для разработки?

Python: requirements-dev.txt
JS: Тоже в package.json

Как установить зависимости?

Python: pip install -r requirements.txt
JS: npm install , зависимости берутся из package.json

Где заморозить зависимости, чтобы не обновлялись?

Python: requirements.freezed.txt или poetry.lock
JS: package-lock.json

Как установить зависимости без изменений, ровно те, что были заморожены?

Python pip install -r requirements.freezed.txt
JS: npm ci , зависимости берутся из package-lock.json

Вспомогательные скрипты

Где хранить вспомогательные bash-скрипты для сборки и тестирования проекта?

Python: файлы makefile или pyproject.toml , либо папка со скриптами scripts
JS: файл package.json

Читать подробнее

Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Управление модулями Node.js с помощью npm и package.json

Благодаря высокой производительности ввода/вывода (I/O), хорошо известному синтаксису JavaScript и другим удобным функциям Node.js быстро стал популярной средой выполнения для веб-разработки бэкенда. Но по мере роста изначально сложного приложения управлять его кодовой базой и ее зависимостями становится все труднее. Node.js решает эту проблему с помощью модулей. Модули – это отдельные файлы JavaScript, содержащие функции или объекты, которые могут использоваться другими программами или модулями. Набор из одного или нескольких модулей обычно называется пакетом, такими пакетами обычно управляют менеджеры пакетов.

npm (или Node.js Package Manager) – это самый популярный стандартный менеджер пакетов в экосистеме Node.js. В основном он используется для установки и управления внешними модулями в проектах, а также для установки широкого спектра инструментов CLI и запуска сценариев. npm отслеживает установленные в проекте модули с помощью файла package.json, который находится в каталоге проекта и содержит:

  • Все необходимые проекту модули и их установленные версии.
  • Все метаданные проекта, такие как автор, лицензия и т.п.
  • Скрипты, которые можно запускать для автоматизации задач в рамках проекта.

По мере усложнения проектов Node.js файл package.json становится особенно важным: он обеспечивает удобное управление метаданными и зависимостями, а также предоставляет вам более предсказуемые сборки, поскольку все внешние зависимости не изменятся. Файл будет автоматически отслеживать всю нужную информацию.

Редактировать этот файл можно и напрямую, но вам редко придется это делать.

В этом руководстве вы узнаете, как управлять пакетами с помощью npm. Сначала мы создадим файл package.json и ознакомимся с его содержимым. Затем мы попробуем использовать его для отслеживания всех модулей вашего проекта. Мы также составим полный список зависимостей пакета, обновим свои пакеты, удалим их и выполним аудит, чтобы обнаружить в пакетах уязвимости.

Требования

Для работы вам понадобится установка Node.js на вашей машине разработки. Здесь мы используем версию 10.17.0. Чтобы установить Node.js на macOS, следуйте мануалу Установка Node.js и настройка локальной среды разработки в macOS. Чтобы установить Node.js в Ubuntu 18.04 с помощью архива PPA, читайте Установка Node.js в Ubuntu 18.04.

Пакетный менеджер npm устанавливается вместе с Node.js; в руководстве мы используем его версию 6.11.3.

1: Создание файла package.json

Мы начнем нашу работу с создания тестового проекта – вымышленного модуля Node.js по имени locator, который принимает IP-адрес пользователя и возвращает страну происхождения этого адреса. Писать код модуля вам не придется: мы просто примем такой условный контекст, чтобы рассмотреть пакеты, которые были бы актуальны в подобном проекте.

Сначала создайте файл package.json для хранения метаданных о проекте и управления зависимыми модулями проекта Node.js. Как следует из расширения, это файл JSON (JavaScript Object Notation) – это стандартный формат для совместного использования кода, основанный на объектах JavaScript; JSON состоит из данных, хранящихся в виде пар «ключ-значение».

Читайте также: Основы работы с JSON

Поскольку файл package.json содержит множество свойств, его может быть сложно создать вручную с нуля, без шаблона. Чтобы упростить вам работу, npm предоставляет команду init. Это интерактивная команда, которая задает пользователю ряд вопросов и на основе полученных ответов создает файл package.json.

Команда init

Давайте настроим тестовый проект, чтобы позже попрактиковаться в управлении модулями на его примере. В оболочке создайте новую папку locator:

Перейдите в нее:

Теперь инициализируйте интерактивную командную строку:

Примечание: Если вы собираетесь использовать Git для контроля версий вашего кода, сначала создайте репозиторий Git, а затем запустите команду npm init. Команда автоматически поймет, что находится в папке с поддержкой Git. Если у вас установлен удаленный репозиторий Git, команда автоматически заполнит в файле package.json поля repository, bugs и homepage. Если вы инициализировали репозиторий после создания файла package.json, вам придется добавить эту информацию самостоятельно.

Читайте также:

  • Использование веток Git
  • Продуктивное использование Git

Вы получите следующий вывод:

This utility will walk you through creating a package.json file.

It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields

and exactly what they do.

Use `npm install ` afterwards to install a package and

save it as a dependency in the package.json file.

Press ^C at any time to quit.

package name: (locator)

Сначала вам будет предложено ввести название нового проекта. По умолчанию команда предполагает, что это имя папки, в которой вы находитесь в данный момент. Значения по умолчанию для каждого свойства указаны в скобках (). Поскольку значение name по умолчанию нам подходит, нажмите Enter, чтобы принять его.

Следующее значение, которое нужно ввести, – это version, версия. Как и name, это поле обязательно нужно заполнить, если ваш проект будет доступен другим пользователям в репозитории пакетов npm.

Примечание: Пакеты Node.js должны соответствовать семантическому управлению версиями (Semantic Versioning, semver). Исходя из этого, первое число в номере версии – это версия MAJOR (оно изменяется только при изменении API). Второе число – версия MINOR (изменяется при добавлении функций). Последнее число в номере версии – версия PATCH (это число изменяется при исправлении ошибок).

Нажмите Enter, чтобы принять номер версии по умолчанию.

Следующее поле – описание, description – полезная строка, объясняющая, что умеет этот модуль Node.js. Наш вымышленный проект locator принимает IP-адрес пользователя и возвращает страну происхождения этого адреса. Потому в поле description можно ввести что-то вроде:

Finds the country of origin of the incoming request

и нажать Enter. Описание очень помогает при поиске модулей.

В следующем запросе команда предложит указать точку входа, entry point. Если кто-то установит ваш модуль и объявит его зависимостью проекта, то значение entry point будет первой частью загруженной программы. Здесь следует указать относительный путь к файлу JavaScript, который будет добавлен в свойство main в package.json. Нажмите Enter, чтобы сохранить значение по умолчанию.

Большинство модулей используют в качестве основной точки входа файл index.js. Это значение по умолчанию свойства main файла package.json, которое является точкой входа для модулей npm. Если у вас нет файла package.json, Node.js по умолчанию попытается загрузить index.js.

Затем вам будет предложено указать test command – это исполняемый скрипт или команда для тестового запуска вашего проекта. Многие популярные модули Node.js тестируются с помощью Mocha, Jest, Jasmine или других тестовых фреймворков. Тестирование выходит за рамки данной статьи, потому пока что оставьте этот параметр пустым и нажмите Enter, чтобы продолжить.

Потом команда init запросит репозиторий проекта на GitHub. В этом мануале мы не будем использовать его, поэтому также оставьте поле пустым.

После репозитория команда запрашивает ключевые слова, keywords. Это свойство представляет собой массив строк, содержащий полезные термины, которые люди могут использовать для поиска вашего проекта. Лучше всего использовать здесь небольшой набор слов, действительно имеющих отношение к вашему проекту – тогда поиск будет более точным.

Перечислите эти ключевые слова через запятую в виде строки. Для нашего тестового проекта мы используем ip, geo, country. Следовательно, в готовом пакете package.json в массиве keywords будет три элемента.

Следующее поле – author, автор. Оно поможет пользователям вашего модуля связаться с вами в случае необходимости. Например, если кто-то обнаружит в модуле уязвимость, он сможет сообщить вам о проблеме, чтобы вы ее исправили.

Поле author представляет собой строку в следующем формате: “имя \ (сайт)”. В нашем случае она может выглядеть так: “8host \ (https://your_domain)”. Электронную почту и данные о веб-сайте указывать не обязательно – достаточно просто ввести имя автора. Добавьте контактные данные автора и подтвердите их, нажав Enter.

Теперь вам будет предложено ввести лицензию, license. Эта строка определяет юридические права пользователей и ограничения на использование вашего модуля. Многие модули Node.js имеют открытый исходный код, поэтому npm по умолчанию устанавливает ISC.

На этом этапе вы должны рассмотреть варианты лицензирования и решить, что лучше всего подходит для вашего проекта. Подробные сведения о разных типах открытых лицензий можно найти в этом списке. Если вы не хотите предоставлять лицензию закрытого репозитория, вы можете ввести UNLICENSED. Мы будем использовать здесь стандартную лицензию ISC. Введите ISC в командную строку и нажмите Enter, чтобы завершить процесс создания файла.

Теперь команда init выведет на экран файл package.json, который она собирается создать. Наш файл будет выглядеть примерно так:

About to write to /home/8host/locator/package.json:

«description»: «Finds the country of origin of the incoming request»,

«test»: «echo \»Error: no test specified\» && exit 1″

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *