Как подключить node js
Перейти к содержимому

Как подключить node js

  • автор:

Как скачать и установить Node.js и NPM в Windows

Чтобы начать создавать приложения Node.js, первым шагом является установка платформы node.js. Платформа Node.js доступна для различных операционных систем, от Windows до Ubuntu и OS X. После установки платформы Node.js вы можете приступить к созданию своих первых приложений Node.js.

Node.js также имеет возможность встраивать внешние или расширенные функции за счет использования пользовательских модулей. Эти модули необходимо устанавливать отдельно. Примером модуля является MongoDB модуль, который позволяет вам работать с базами данных MongoDB из вашего приложения Node.js.

Как установить Node.js в Windows

Первым шагом в использовании Node.js является установка библиотек Node.js в клиентской системе. Ниже приведены инструкции по загрузке и установке Node.js в Windows:

Шаг 1) Загрузите установщик Node.js для Windows

Перейти на сайт https://nodejs.org/en/download/ и загрузите необходимые бинарные файлы.

В нашем примере мы собираемся загрузить Node.js в Windows с 32-битными установочными файлами.

Установите Node.js в Windows

Шаг 2) Запустите установку

Дважды щелкните загруженный файл .msi, чтобы начать установку.

Нажмите кнопку «Выполнить» на первом экране, чтобы начать установку.

Установите Node.js в Windows

Шаг 3) Продолжите этапы установки

На следующем экране нажмите кнопку «Далее», чтобы продолжить загрузку и установку Node.js.

Установите Node.js в Windows

Шаг 4) Принять условия

На следующем экране примите лицензионное соглашение и нажмите кнопку «Далее».

Установите Node.js в Windows

Шаг 5) Настройка пути

На следующем экране выберите место, куда необходимо установить Node.js, и нажмите кнопку «Далее».

1. Сначала введите местоположение файла для установки Node.js. Здесь будут храниться файлы Node.js после установки.

2. Нажмите кнопку «Далее», чтобы продолжить установку.

Установите Node.js в Windows

Шаг 6) Выберите компоненты по умолчанию для установки

Примите компоненты по умолчанию и нажмите кнопку «Далее».

Установите Node.js в Windows

Шаг 7) Начать установку

На следующем экране нажмите кнопку установки Node.js, чтобы начать установку в Windows.

Установите Node.js в Windows

Шаг 8) Завершите установку

Нажмите кнопку Готово, чтобы завершить установку.

Установите Node.js в Windows

Windows is now recommending that developers use Node.js with WSL2(the Windows subsystem for Linux)

Как установить NPM в Windows 10/8/7

Другой способ установить Node.js на любой клиентский компьютер — использовать «менеджер пакетов».

В Windows загрузка NPM (Node Package Manager) называется Chocolatey. Он был разработан как децентрализованная платформа для быстрой установки необходимых вам приложений и инструментов.

Для установки NPM в Windows через Chocolatey выполните следующее:wing шаги необходимо выполнить.

Шаг 1) Установка Chocolatey – веб-сайт Chocolatey (https://chocolatey.org/) содержит очень четкие инструкции по установке этой платформы.

  • Первым шагом является запуск приведенной ниже команды в окнах командной строки. Эта команда взята с веб-сайта Chocolatey и является стандартной командой для установки Node.js через Chocolatey.
  • Приведенная ниже команда представляет собой команду PowerShell, которая вызывает удаленный сценарий PowerShell на веб-сайте Chocolatey. Эту команду необходимо запустить в командном окне PowerShell.
  • Этот сценарий PowerShell выполняет всю необходимую работу по загрузке необходимых компонентов и их соответствующей установке.

@powershell -NoProfile -ExecutionPolicy Bypass -Command «iex ((new-object Wet.webclient).DownloadString(‘https://chocolatey.org/install.ps1’))» && SET PATH=%PATH%;%ALLUSERSPROFILE% \шоколад\корзина

Установите NPM в Windows 10/8/7.

Шаг 2) Следующим шагом будет установка Node.js на ваш локальный компьютер с помощью менеджера пакетов Chocolatey. Это можно сделать, выполнив приведенную ниже команду в командной строке.

установка cinst nodejs

Установите NPM в Windows 10/8/7.

Если установка прошла успешно, вы получите сообщение об успешной установке Node.js.

Примечание: Если вы получаете сообщение об ошибке типа «C:\ProgramData\chocolatey\lib\libreoffice\tools\chocolateyInstall.ps1», то вручную создайте папку по пути.

Запуск вашего первого приложения Hello World в Node.js

После того, как вы загрузили и установили Node.js на свой компьютер, давайте попробуем отобразить «Hello World» в веб-браузере.

Создайте файл Node.js с именем firstprogram.js.

var http = require('http'); http.createServer(function (req, res) < res.writeHead(200, ); res.end('Hello World!'); >).listen(8080);

Пояснение к коду:

  1. Основная функциональность функции «require» заключается в том, что она считывает JavaScript file, выполняет файл, а затем переходит к возврату объекта. Используя этот объект, можно затем использовать различные функции, доступные в модуле, вызываемом функцией require. Итак, в нашем случае, поскольку мы хотим использовать функциональность HTTP, мы используем команду require(http).
  2. В этом 2 nd строку кода, мы создаем серверное приложение, основанное на простой функции. Эта функция вызывается всякий раз, когда делается запрос к нашему серверному приложению.
  3. Когда запрос получен, мы просим нашу функцию вернуть клиенту ответ «Hello World». Функция writeHead используется для отправки данных заголовка клиенту, а функция end закрывает соединение с клиентом.
  4. Затем мы используем функцию server.listen, чтобы наше серверное приложение прослушивало запросы клиентов на порту № 8080. Здесь вы можете указать любой доступный порт.

Выполнение кода

    1. Сохраните файл на своем компьютере: C:\Users\Ваше имя\firstprogram.js.
    2. В командной строке перейдите к папке, в которой хранится файл. Введите команду Node firstprogram.js.

    Первое приложение Hello World на Node.js

      1. Теперь ваш компьютер работает как сервер! Если кто-нибудь попытается получить доступ к вашему компьютеру через порт 8080, он получит сообщение «Hello World!» ответное сообщение!
      2. Запустите интернет-браузер и введите адрес: http://localhost:8080.

      Вывод

      Первое приложение Hello World на Node.js

      Итоги

      • Мы видели установку Node.js через установочный модуль MSI, который доступен на веб-сайте Node.js. Эта установка устанавливает необходимые модули, необходимые для запуска приложения Node.js на клиенте.
      • Node.js также можно установить через менеджер пакетов. Менеджер пакетов для Windows известен как Chocolatey. Выполнив несколько простых команд в командной строке, менеджер пакетов Chocolatey автоматически загрузит необходимые файлы, а затем установит их на клиентский компьютер.
      • Простое приложение Node.js состоит из создания сервера, который прослушивает определенный порт. Когда запрос поступает на сервер, сервер автоматически отправляет клиенту ответ «Hello World».
      • Учебное пособие по Node.js NPM: как создавать, расширять и публиковать модули
      • Создание веб-сервера HTTP в Node.js: руководство с примером кода
      • Учебное пособие по Node.js Express FrameWork – изучите за 10 минут
      • Учебное пособие по Node.js MongoDB с примерами
      • Учебное пособие по обещаниям Node.js
      • Учебное пособие по Jasmine Framework: модульное тестирование на примере
      • Учебное пособие по Node.js для начинающих: изучите шаг за шагом за 3 дня
      • Bluebird NPM: обещание Bluebird JS с примером

      как установить node js

      Можно перейти на официальный сайт Node.js и далее следовать инструкциям по установке. Кроме того, установку можно произвести через командную строку. Например, для систем на основе Ubuntu команды будут следующие:

      -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\ sudo apt-get install -y nodejs 

      Посмотреть команды для других дистрибутивов и операционных систем можно здесь .

      Как установить Node.js

      Чтобы установить Node.js на ваш сервер под управлением ОС Debian/Ubuntu используйте инструмент nvm, с его помощью можно выбрать нужную вам версию Node.js при установке.

      Сначала обновляем системные пакеты, используя следующие команды:

      sudo apt-get update

      sudo apt-get update

      После нужно поставить пакеты из репозиториев нашей операционной системы, они позволят нам собрать пакеты из исходников, вводим команду:

      sudo apt-get install build-essential libssl-dev

      Затем устанавливаем NVM, используя данную команду:

      curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

      После того как установится NVM необходимо выйти из системы, и зайти заново.

      После повторного входа, данные о системе были обновлены, можем узнать какие версии Node.js доступны, для этого нужно набрать команду:

      nvm ls-remote

      Можем выбрать из списка необходимую версию и далее устанавливаем ее с помощью команды:

      nvm install 7.5.0

      После установки эта версия будет использоваться по умолчанию. Если было установлено несколько версий node.js, то чтобы использовать нужную вам версию, необходимо использовать команду:

      nvm use 7.5.0

      Чтобы запустить Node.js используйте команду:

      Основы работы с модулями в Node.js

      Любой проект посложнее «Hello World» состоит из некоторого количества файлов, по которым разносят код. Это дает возможность структурировать проект, вынести независимые части, которые можно будет использовать в других проектах и вообще сделать код нагляднее.

      Так вот, в Node.js каждый такой файл и представляет собой модуль, который можно подключить.
      Подключение происходит с помощью вызова функции require , которой нужно передать путь к файлу.

       var authModule = require('./auth'); 

      Данный код подключает модуль авторизации и делает его доступным через переменную authModule .

      В зависимости от того, какой параметр передан в функцию require , будет отличатся алгоритм подключения модуля. Так что давайте посмотрим на принципы подключения модулей в Node.js. Отмечу, что вся эта информация доступна в документации.

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

       var http = require('http'); var cluster = reqiure('cluster'); 

      Нужно отметить, что встроенные модули имеют приоритет над всеми остальными, если в функцию require передано их название. Так к примеру, require(‘http’) всегда вернет встроенный модуль, даже если будет сторонний модуль с таким названием или файл с таким именем. Список всех встроенных модулей и документацию по ним можно найти на сайте. Исходники этих модулей можно посмотреть в репозитории проекта.

      Если передано название модуля и он не является встроенным, тогда идет подключение модуля из папки node_modules . В данной папке находятся все модули, которые добавлены с помощью NPM. NPM — это менеджер пакетов для Node.js, который упрощает поиск и подключение сторонних модулей. На момент написания этой статьи в нем находилось уже 89 503 модулей.

      Чтобы подключить модуль который находится в node_modules достаточно указать его название.

       var express = require('express'); var async = require('async'); 

      Давайте рассмотрим ситуацию, когда такой код был вызван из папки ‘/var/www/demo’ , тогда Node.js попытается найти указанные модули в следующих папках:

      /var/www/demo/node_modules /var/www/node_modules /var/node_modules /node_modules

      Node.js рекурсивно, каждый раз переходя в родительскую папку, будет искать папку node_modules с нужным модулем. NPM также даем возможность установить модуль глобально ( npm install -g MODULE ), тогда он будет доступен из любого места.

      Рассмотрим еще один вариант подключения, если переданный параметр в функцию require начинается с / , ../ , или ./ , тогда файл для подключения будет происходить по абсолютному пути или относительно текущей папки.

       var logger = require('../lib/logger'); var profiler = require('/var/lib/profiler'); 

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

      Поэтому нет необходимости указывать файл с расширением, так как require(‘./lib/users.js’) и require(‘./lib/users’) подключит один и тот же модуль.

      Модули могут быть настолько большими, что может возникнет необходимость вынести некоторые части в отдельные файлы, чтобы лучше организовать код модуля. А так как эти файлы используются только этим модулем, не нужно чтобы они находились среди остальных модулей. Для решения этой проблемы в Node.js есть возможность организовать модуль в виде папки в которой будут находится все файлы модуля. Чтобы подключить такой модуль нужно просто передать путь данной папки в функцию require .

      Представим, что у нас есть модули и один и них logger представлен в виде папки с файлами:

      ┌─auth.js ├─user.js └─logger ├─ index.js ├─ console.js ├─ package.json ├─ config.js └─ db.js

      Подключение модуля logger заключается в том, что мы просто передадим путь к этой папки:

       var require('./logger'); 

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

      В нашем случае будет загружен файл ‘./logger/console.js’ . Если файла package.json нету, тогда Node.js попытается подключить файлы ‘./logger/index.js’ или ‘./logger/index.node’ .

      С подключением модулей закончили, теперь рассмотрим несколько интересных моментов, связанных с ними. Независимо от того как вы подключаете модуль, он кэшируется сразу после подключения. Это означает, что сколько бы раз не подключался модуль, его код исполнится только один раз.

      Это поведение можно изменить, если после каждого вызова модуля удалять его из кэша.

       delete require.cache[ module ]; 

      module — это параметр, который вы передавали функции require для подключения модуля.

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

      Чтобы получить полный путь, по которому был найден модуль, можно воспользоваться функцией require.resolve .

       var modulePath = require.resolve('express'); 

      Эту функцию можно использовать, если у вас так случилось, что установлены модули разных версий в нескольких местах и нужно удостоверится, что подключается нужная версия. Нужно зайти в папку где лежит файл, в котором происходит подключение, запустить Node.js в режиме работы из командной строки и вызвать функцию с нужным модулем. Конечно, такая ситуация означает, что нужно пересмотреть структуру проекта и лучше вынести все подключаемые модули в корневую папку проекта.

      Эту функцию также можно использовать если вы хотите подключить один из файлов модуля, который установлен через NPM.

       var package = require.resolve('express/package.json'); 

      Так как вы не знаете где находится папка node_modules с нужным модулем, можно воспользоваться тем, что Node.js сам пройдется по всем возможным местам расположения модуля.

      Функция require кроме всего этого имеет еще одно полезное свойство main . Оно хранит в себе модуль который был запущен из командной строки. Так что из любого модуля можно узнать или данный модуль был запущен напрямую или он был подключен как зависимость другого модуля.

      Кроме уже рассмотренной функции require , в каждом модуле доступен объект module . Основная задача этого объекта дать возможность модулю вернуть результат своего исполнения. Это может быть и объект, и функция, и строка — любой тип данных.

      В объекта module есть свойство exports и ему нужно присваивать все что вы хотите вернуть из модуля. Именно module.exports вернется как результат подключения модуля.

       module.exports.createUser = function ()

      После подключения модуля с данным кодом, в ответе будет объект с данным методом.

      Можно также воспользоваться более кратким вариантом, переменной exports , которая по-сути просто ссылка на module.exports .

       exports.createUser = function ()

      Так как это ссылка, между этими двумя вариантами существует одна важная разница. Результат работы модуля можно вернуть только через объект module.exports , поэтому, если переменной exports присвоить другое значение, она уже не будет ссылаться на module.exports , а значит модуль ничего и не вернет.

      А вот сам module.exports можно изменить. Вместо объекта, например, можно вернуть функцию и тогда результатом работы модуля будет не объект с методом в виде некоторой функции, а сама функция.

      С помощью module также можно узнать или данный модуль запущен из командной строки. Для этого нужно проверить свойство module.parent — оно должно быть undefined .

      Я думаю этой информации будет достаточно для работы с модулями в Node.js. Также я рекомендую ознакомится с NPM, так как с ним вам придется сталкиваться в каждом проекте на Node.js.

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

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