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

Как установить node js в проект

  • автор:

NPM. Package.json. Установка модулей. Определение команд¶

Кроме встроенных и кастомных модулей Node.js существует огромный пласт различных библиотек и фреймворков, разнообразных утилит, которые создаются сторонними производителями и которые также можно использовать в проекте, например, express, grunt, gulp и так далее. И они тоже нам доступны в рамках Node.js. Чтобы удобнее было работать со всеми сторонними решениями, они распространяются в виде пакетов. Пакет по сути представляет набор функциональностей.

Для автоматизации установки и обновления пакетов, как правило, применяются систему управления пакетами или менеджеры. Непосредственно в Node.js для этой цели используется пакетный менеджер NPM (Node Package Manager). NPM по умолчанию устанавливается вместе с Node.js, поэтому ничего доустанавливать не требуется. Но можно обновить установленную версию до самой последней. Для этого в командной строке/терминале надо запустить следующую команду:

npm install npm@latest -g 

Чтобы узнать текущую версию npm , в командной строке/терминале надо ввести следующую команду:

npm -v 

Для нас менеджер npm важен в том плане, что с его помощью легко управлять пакетами. К примеру, создадим на жестком диске новую папку modulesapp (В моем случае папка будет находиться по пути C:\node\modulesapp ).

Далее для примера установим в проект express . Express представляет легковесный веб-фреймворк для упрощения работы с Node.js. В данном случае мы не будем пока подробно рассматривать фреймворк Express, так как это отдельная большая тема. А используем его лишь для того, чтобы понять, как устанавливаются сторонние модули в проект.

Для установки функциональности Express в проект вначале перейдем к папке проекта с помощью команды cd . Затем введем команду

npm install express 

2.4.png

После установки express в папке проекта modulesapp появится подпапка node_modules , в которой будут храниться все установленные внешние модули. В частности, в подкаталоге node_modules/express будут располагаться файлы фреймворка Express.

Далее определим файл простейшего сервера. Для этого в корневую папку проекта modulesapp добавим новый файл app.js :

 1 2 3 4 5 6 7 8 9 10 11
// получаем модуль Express const express = require('express'); // создаем приложение const app = express(); // устанавливаем обработчик для маршрута "/" app.get('/', function (request, response)  response.end('Hello from Express!'); >); // начинаем прослушивание подключений на 3000 порту app.listen(3000); 

Первая строка получает установленный модуль express , а вторая создает объект приложения.

В Express мы можем связать обработку запросов с определенными маршрутами. Например, / — представляет главную страницу или корневой маршрут. Для обработки запроса вызывается функция app.get() . Первый параметр функции — маршрут, а второй — функция, которая будет обрабатывать запрос по этому маршруту.

И чтобы сервер начал прослушивать подключения, надо вызвать метод app.listen() , в который передается номер порта.

Запустим сервер командой node app.js :

2.5.png

И в адресной строке браузера введем адрес http://localhost:3000/ :

2.6.png

Файл package.json¶

Для более удобного управления конфигурацией и пакетами приложения в npm применяется файл конфигурации package.json . Так, добавим в папку проекта modulesapp новый файл package.json :

1 2 3 4
 "name": "modulesapp", "version": "1.0.0" > 

Здесь определены только две секции: имя проекта — modulesapp и его версия — 1.0.0 . Это минимально необходимое определение файла package.json . Данный файл может включать гораздо больше секций. Подробнее можно посмотреть в документации.

Далее удалим из проекта каталог node_modules . То есть в папке проекта modulesapp будут два файла app.js и package.json .

Теперь снова добавим express с помощью следующей команды:

npm install express --save 

Флаг —save указывает, что информацию о добавленном пакете надо добавить в файл package.json .

2.7.png

И после выполнения команды, если мы откроем файл package.json , то мы увидим информацию о пакете:

1 2 3 4 5 6 7
 "name": "modulesapp", "version": "1.0.0", "dependencies":  "express": "^4.14.0" > > 

Информация обо всех добавляемых пакетах, которые используются при запуске приложения, добавляется в секцию dependencies .

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

npm install 

Эта команда возьмет определение всех пакетов из секций dependencies и загрузит их в проект.

devDependencies¶

Кроме пакетов, которые применяются в приложении, когда оно запущено, например, express, то есть в состоянии «production», есть еще пакеты, которые применяются при разработке приложения и его тестировании. Такие пакеты добавляются в другую секцию — devDependencies . В вышеприведенном примере она не определена, но если бы мы добавили какой-нибудь grunt или gulp, то они бы были именно в секции devDependencies .

Например, загрузим в проект пакет jasmine-node , который используется для тестирования приложения:

npm install jasmine-node --save-dev 

Флаг —save-dev указывается, что информацию о пакете следует сохранить в секции devDependencies файла package.json :

 1 2 3 4 5 6 7 8 9 10
 "name": "modulesapp", "version": "1.0.0", "dependencies":  "express": "^4.14.0" >, "devDependencies":  "jasmine-node": "^1.14.5" > > 

Удаление пакетов¶

Для удаления пакетов используется команда npm uninstall . Например:

npm uninstall express 

Эта команда удаляет пакет из папки node_modules , в то же время в файле package.json информация о данном пакете остается. Чтобы удалить информацию также и из package.json , применяется флаг —save :

npm uninstall express --save 

Семантическое версионирование¶

При определении версии пакета применяется семантическое версионирование. Номер версии, как правило, задается в следующем формате major.minor.patch . Если в приложении или пакете обнаружен какой-то баг и он исправляется, то увеличивается на единицу число patch . Если в пакет добавляется какая-то новая функциональность, которая совместима с предыдущей версией пакета, то это небольшое изменение, и увеличивается число minor . Если же в пакет вносятся какие-то большие изменения, которые несовместимы с предыдущей версией, то увеличивается число major . То есть глядя на разные версии пакетов, мы можем предположить, насколько велики в них различия.

В примере с express версия пакета содержала, кроме того, дополнительный символ карет: ^4.14.0 . Этот символ означает, что при установке пакета в проект с помощью команды npm install будет устанавливаться последняя доступная версия от 4.14.0 . Фактически это будет последняя доступная версия в промежутке от 4.14.0 до 5.0.0 ( >=4.14.0 и

Команды npm¶

NPM позволяет определять в файле package.json команды, которые выполняют определенные действия. Например, определим следующий файл app.js :

1 2 3 4 5
let name = process.argv[2]; let age = process.argv[3]; console.log('name: ' + name); console.log('age: ' + age); 

В данном случае мы получаем переданные при запуске приложению параметры.

И определим следующий файл package.json :

1 2 3 4 5 6 7 8
 "name": "modulesapp", "version": "1.0.0", "scripts":  "start": "node app.js", "dev": "node app.js Tom 26" > > 

Здесь добавлена секция scripts , которая определяет две команды. Вообще команд может быть много в соответствии с целями и задачами разработчика.

Первая команда называется start . Она по сути выполняет команду node app.js , которая выполняет код в файле app.js

Вторая команда называется dev . Она также выполняет тот же файл, но при этом также передает ему два параметра.

Названия команд могут быть произвольными. Но здесь надо учитывать один момент. Есть условно говоря зарезервированные названия для команд, например, start , test , run и ряд других. Их не очень много. И как раз первая команда из выше определенного файла package.json называется start . И для выполнения подобных команд в терминале/командной строке надо выполнить команду

npm [название_команды] 

Например, для запуска команды start

Как установить node js в проект

Кроме встроенных и кастомных модулей Node.js существует огромный пласт различных библиотек и фреймворков, разнообразных утилит, которые создаются сторонними производителями и которые также можно использовать в проекте, например, express, grunt, gulp и так далее. И они тоже нам доступны в рамках Node.js. Чтобы удобнее было работать со всеми сторонними решениями, они распространяются в виде пакетов. Пакет по сути представляет набор функциональностей.

Для автоматизации установки и обновления пакетов, как правило, применяется система управления пакетами или менеджеры. Непосредственно в Node.js для этой цели используется пакетный менеджер NPM (Node Package Manager). NPM по умолчанию устанавливается вместе с Node.js, поэтому ничего доустанавливать не требуется. Но можно обновить установленную версию до самой последней. Для этого в командной строке/терминале надо запустить следующую команду:

npm install npm@latest -g

Чтобы узнать текущую версию npm, в командной строке/терминале надо ввести следующую команду:

npm -v

Для нас менеджер npm важен в том плане, что с его помощью легко управлять пакетами.

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

Для установки пакета через npm применяется команда npm install , после которой указываются пакеты

npm install имя_пакета1 имя_пакета2 имя_пакетаN

В качестве демонстрации будем устанавливать пакет lodash . Lodash представляет собой библиотеку, которая позволяет манипулировать данными, в частности, массивами. Кому интересно, может подробнее узнать на официальном сайте библиотеки — https://lodash.com/.

Допустим, для проекта где-нибудь в файловой системе определим каталог app и перейдем в терминале/командной строке к папке проекта с помощью команды cd . Затем для установки Lodash в проект введем команду

npm install lodash

После установки express в папке проекта app появится подпапка node_modules , в которой будут хранится все установленные внешние модули. В частности, в подкаталоге node_modules/lodash будут располагаться файлы библиотеки Lodash.

NPM в Node.js

Кроме того, при установке пакета в папку проекта добавляется файл package.json . После добавления lodash в нашем случае он будет иметь примерно следующий вид:

Файл package.json представляет собой объект-конфигурацию в формате json, где каждое свойство представляет отдельную секцию. Так, здесь определена секция «dependencies», которая хранит установленные пакеты. И здесь мы видим, что у нас установлен пакет «lodash», а версия пакета — «^4.17.21».

Также в проекте создан еще один файл — package-lock.json . Этот файл автоматически генерируется при любых операциях, в которых npm изменяет файл package.json и структуру каталогов/файлов в каталоге node_modules . Данный файл упрощает для npm управление пакетами.

После установке библиотеки lodash мы можем ее использовать. Так, определим в папке проекта файл app.js со следующим кодом:

const lodash = require("lodash") const people = ["Tom", "Sam", "Bob"]; const employees = ["Tom", "Alice", "Sam"]; // объединение массивов - в результате только уникальные значения const result1 = lodash.union(people, employees); console.log(result1); // [ "Tom", "Sam", "Bob", "Alice" ] // пересечение массивов - в результате только общие значения const result2 = lodash.intersection(people, employees); console.log(result2); // [ "Tom", "Sam" ]

Поскольку мы установили библиотеку lodash через npm, то мы можем получить соответствующий модуль через выражение require :

const lodash = require("lodash")

Затем мы можем обращаться к функциям этого модуля. Для демонстрации здесь применяется функция uninon , которая объединяет два массива (множества) и возвращает новое множество только с уникальными значениями. А функция intersection() также применяется к массивам, но возвращает множество, которое содержит только общие для всех массивов элементы.

В консоли запустим файл app.js командой node app.js :

c:\app> node app.js [ "Tom", "Sam", "Bob", "Alice" ] [ "Tom", "Sam" ] c:\app>

Если через какое-то время нам больше не нужен пакет, его можно удалить командой npm uninstall , которой передаются удаляемые пакеты

npm uninstall пакет1 пакет2 пакетN

Например, удалим ранее установленный lodash:

npm uninstall lodash

Если после удаления мы откроем папку node_modules , то увидим, что она пустая. И также изменится файл package.json — он будет содержать пустой объект:

Получение информации о пакете

С помощью команды npm info [пакет] можно получить информацию об определенном пакете. Например, получим информацию о пакете lodash:

c:\app> npm info lodash lodash@4.17.21 | MIT | deps: none | versions: 114 Lodash modular utilities. https://lodash.com/ keywords: modules, stdlib, util dist .tarball: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz .shasum: 679591c564c3bffaae8454cf0b3df370c3d6911c .integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== .unpackedSize: 1.4 MB maintainers: - mathias - jdalton - bnjmnt4n dist-tags: latest: 4.17.21 published over a year ago by bnjmnt4n c:\app>

Здесь мы видим большой массив данных типа версии, лицензии, кто поддерживает, кто и когда опубликовал, размер пакета, домашнюю страницу.

Настройка среды разработки Node.js. Быстрый способ создание проекта с помощью фреймворка Express

В этом руководстве мы расскажем, как настроить среду разработки Node.js для проекта Express. Мы также рассмотрим некоторые полезные инструменты, которые мы рекомендуем для всех приложений Node.js.

Установка Node.js

  • OS X — Самый простой способ установить Node.js на OS X — использовать официальный установщик с сайта nodejs.org . Вы также можете использовать Homebrew, если хотите. Для управления и переключения между версиями Node.js на вашем компьютере мы рекомендуем использовать nvm .
  • Windows — Самый простой способ установить Node.js в Windows — это официальный установщик с сайта nodejs.org . Вы также можете использовать Chocolatey, если хотите. Для управления и переключения между версиями Node.js на вашем компьютере мы рекомендуем использовать nvm-windows
  • Linux — Способ установки Node.js зависит от дистрибутива. Для управления и переключения между версиями Node.js на вашем компьютере мы рекомендуем использовать nvm.

Установите текстовый редактор или IDE

Прежде чем мы сможем начать проект Node.js, нам понадобится место для написания нашего кода.

Если у вас уже есть любимый инструмент для написания кода, вы можете использовать его для разработки своего приложения Node.js. Если вы ищете что-то новое, рекомендуем попробовать несколько вариантов:

  • Visual Studio Code в настоящее время является самой популярной интегрированной средой разработки (IDE), используемой для проектов JavaScript. Это быстрый бесплатный редактор и отладчик, который работает на всех платформах и поставляется со многими уже установленными полезными инструментами.
  • WebStorm — еще одна чрезвычайно мощная IDE, построенная на платформе IntelliJ с открытым исходным кодом. Попробовать можно бесплатно, но через 30 дней требуется платная лицензия.
  • Инструменты Node.js для Visual Studio — отличный вариант, если вы уже являетесь пользователем Visual Studio .
  • Vim — многолетний любимый текстовый редактор среди опытных пользователей.

Если вы новичок в программировании, мы настоятельно рекомендуем начать с Visual Studio Code.

Запуск нового проекта с помощью npm init

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

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

«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 init` for definitive documentation on these fields
and exactly what they do.»
«Use `npm install <pkg>` 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: (my-project)
version: (1.0.0)
description: A sample Twilio project
entry point: (index.js)
test command:
git repository:
author: Jane Doe
license: (ISC)
About to write to /Users/<your-username>/my-project/package.json:»
«name» : «my-project» ,
«version» : «1.0.0» ,
«description» : «A sample Twilio project» ,
«main» : «index.js» ,
«test» : «echo \»Error: no test specified\» && exit 1″
«author» : «Jane Doe» ,
«license» : «ISC»
«Is this OK? (yes) yes»

Теперь мы готовы установить наши зависимости Node.js.

Также вы можете быстро инициализировать свой проект и пропустить приведенные выше подсказки, запустив npm init -y

Установка Express.js

Мы почти готовы написать веб-приложение Express, но сначала нам нужно установить пакет Express с помощью npm .

# Используйте npm для установки пакетов
$ npm install express
# Перечислите установленные зависимости и их версии
my — project @ 1.0.0 / Users / my — project
├── express @ 4.17.1
└── twilio @ 3.67.2

Node.js использует npm для управления зависимостями, поэтому команда для установки Express в нашу среду разработки — npm install express .

Установка этого пакета указывает npm добавить пакет Express к dependencies объекту в package.json файле нашего проекта. Когда мы захотим снова установить этот же пакет в будущем, например, на рабочем сервере, мы можем просто запустить npm install .

Создание простого приложения в Express.js

Мы можем проверить, правильно ли мы настроили нашу среду разработки, создав простое приложение Express. Мы возьмем десятистрочный пример из документации Express и поместим его в новый файл с именем index.js .

JavaScript
const express = require ( ‘express’ ) ;
const app = express ( ) ;
const port = 3000 ;
app . get ( ‘/’ , ( req , res ) = > < res . send ( 'Hello World!' ) ; app . listen ( port , ( ) = > < console . log ( ` Example app listening at http : //localhost:$`);

Затем мы можем попробовать запустить наше новое приложение Express с помощью команды node index.js . Если вы откроете http://localhost:3000 в своем браузере, вы должны увидеть «Hello World!» отклик.

Установка ngrok для локальной разработки

Как только вы увидите сообщение «Hello World!» в своем образце приложения Express. сообщение, ваша среда разработки готова к работе. Однако для большинства проектов вам потребуется установить еще один полезный инструмент: ngrok.

Большинство служб используют веб-перехватчики для связи с вашим приложением. Например, когда Twilio получает входящий телефонный звонок, он обращается к URL-адресу в вашем приложении для получения инструкций о том, как обработать вызов.

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

Ngrok — наш любимый инструмент для решения этой проблемы. После запуска он предоставляет уникальный URL-адрес в домене ngrok.io, который будет перенаправлять входящие запросы в вашу локальную среду разработки.

Для начала перейдите на страницу загрузки ngrok и скачайте бинарный файл для вашей операционной системы: https://ngrok.com/download

После загрузки убедитесь, что ваше приложение Express запущено, а затем запустите ngrok с помощью команды ./ngrok http 3000 . Вы должны увидеть вывод, похожий на этот:

Шаг 1. Настройка среды разработки для разработки на Node.js

Чтобы разработать приложение с помощью драйвера Node.js для SQL Server, необходимо настроить среду разработки, учитывая необходимые условия. Наиболее распространенным способом для установки трудоемкого модуля является использование диспетчера пакетов узла (npm), однако вы также можете скачать трудоемкий модуль непосредственно в GitHub.

Драйвер Node.js использует протокол TDS, включенный по умолчанию в SQL Server и Базу данных SQL Azure. Дополнительная настройка не требуется.

Windows

  1. Установите среду выполнения Node.js и диспетчер пакетов npm.
    а. Перейдите к Node. js
    b. Нажмите на соответствующую ссылку установщика msi Windows.
    c. После загрузки запустите msi, чтобы установить Node.js.
  2. Откройте cmd.exe
  3. Создайте каталог проекта и перейдите к нему.
> mkdir HelloWorld > cd HelloWorld 
  1. Создайте проект Node. Чтобы сохранить настройки по умолчанию во время создания проекта, нажимайте клавишу ВВОД, пока проект не будет создан. В конце этого шага в каталоге проекта вы увидите файл package.json.
> npm init 
  1. Установите трудоемкий модуль в проект. Tedious — это реализация протокола TDS, который используется для взаимодействия с SQL Server.
> npm install tedious 

Ubuntu Linux

  1. Откройте терминал
  2. Установите среду выполнения Node.js.
>sudo apt-get install node 
  1. Установите npm (диспетчер пакетов узла).
> sudo apt-get install npm 
  1. Создайте каталог проекта и перейдите к нему.
> mkdir HelloWorld > cd HelloWorld 
  1. Создайте проект Node. Чтобы сохранить настройки по умолчанию во время создания проекта, нажимайте клавишу ВВОД, пока проект не будет создан. В конце этого шага в каталоге проекта вы увидите файл package.json.
> sudo npm init 
  1. Установите трудоемкий модуль в проект. Tedious — это реализация протокола TDS, который используется для взаимодействия с SQL Server.
> sudo npm install tedious 

macOS

  1. Установите среду выполнения Node.js и диспетчер пакетов npm.
    а. Перейдите к Node. js
    b. Щелкните ссылку на соответствующий установщик macOS.
    c. После загрузки запустите dmg, чтобы установить Node.js.
  2. Откройте терминал
  3. Создайте каталог проекта и перейдите к нему.
> mkdir HelloWorld > cd HelloWorld 
  1. Создайте проект Node. Чтобы сохранить настройки по умолчанию во время создания проекта, нажимайте клавишу ВВОД, пока проект не будет создан. В конце этого шага в каталоге проекта вы увидите файл package.json.
> npm init 
  1. Установите трудоемкий модуль в проект. Это реализация протокола TDS, который используется драйвером для взаимодействия с SQL Server.
> npm install tedious 

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

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