Руководство. Node.js для начинающих

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

Необходимые компоненты

Если вы впервые пробуете Node.js, рекомендуем выполнить установку непосредственно в Windows. Дополнительные сведения см. в статье Выбор между установкой Node.js в Windows и подсистеме Windows для Linux.

Использование Node.js в Visual Studio Code

Если вы еще не установили Visual Studio Code, вернитесь к предыдущему разделу предварительных требований и выполните действия по установке, связанные с Windows или WSL.

  1. Откройте командную строку и создайте новый каталог с помощью команды mkdir HelloNode, а затем введите каталог: cd HelloNode.

  2. Создайте файл JavaScript с именем "app.js" и переменной с именем "msg" в: echo var msg > app.js

  3. Откройте каталог и файл app.js в VS Code с помощью команды code ..

  4. Добавьте простую строковую переменную ("Hello World"), а затем отправьте содержимое строки в консоль, введя его в файле "app.js":

    var msg = 'Hello World';
    console.log(msg);
    
  5. Для запуска файла "app.js" с Node.js. Откройте окно терминала в VS Code, выбрав Представление>Терминал (или нажмите Ctrl+`, используя символ обратного апострофа). Если необходимо изменить терминал по умолчанию, откройте раскрывающееся меню и выберите Выбрать оболочку по умолчанию.

  6. В окне терминала введите: node app.js. Вы увидите выходные данные : Hello World.

Примечание.

Обратите внимание, что при вводе console в файл "app.js", VS Code отображает поддерживаемые параметры, связанные с объектом console, который можно выбрать из использования IntelliSense. Попробуйте поэкспериментировать с Intellisense, используя другие объекты JavaScript.

Создание первого веб-приложения Node.js с помощью Express

Express — это минимальная, гибкая и оптимизированная платформа Node.js, которая упрощает разработку веб-приложения, которое может обслуживать несколько типов запросов, таких как GET, PUT, POST и DELETE. Express поставляется с генератором приложений, который автоматически создает архитектуру файлов для приложения.

Чтобы создать проект с помощью Express.js, выполните следующие действия.

  1. Откройте командную строку (командная строка, Powershell или любой другой вариант).

  2. Создайте новую папку проекта: mkdir ExpressProjects и введите этот каталог: cd ExpressProjects

  3. Используйте Express для создания шаблона проекта HelloWorld: npx express-generator HelloWorld --view=pug

    Примечание.

    Мы используем команду npx, чтобы выполнить пакет Node Express.js без фактической установки (или временно установить его в зависимости от того, как вы хотите его представить). Если вы попытаетесь использовать команду express или проверить установленную версию Express с помощью: express --version, вы получите ответ, о том, что Express не удается найти. Если вы хотите глобально установить Express, чтобы применять его на постоянной основе, используйте: npm install -g express-generator. Список пакетов, установленных npm, можно просмотреть с помощью npm list. Они будут перечислены по глубине (количество вложенных каталогов в глубину). Установленные пакеты будут иметь глубину 0. Зависимости пакета будут иметь глубину 1, дополнительные зависимости на уровне глубины — 2 и т. д. Дополнительные сведения см. в статье Различие между npx and npm на сайте StackOverflow.

  4. Изучите файлы и папки, включенные в Express, открыв проект в VS Code, с помощью: code .

    Файлы, создаваемые с помощью Express, создают веб-приложение, использующее архитектуру, которая может показаться немного перегруженной. В окне обозревателя VS Code (Ctrl+Shift+E для просмотра), вы увидите, что были созданы следующие файлы и папки:

    • bin. Содержит исполняемый файл, который запускает приложение. Он запускает сервер (через порт 3000, если не указана альтернатива) и настраивает базовую обработку ошибок.
    • public. Содержит все общедоступные файлы, включая файлы JavaScript, таблицы стилей CSS, файлы шрифтов, изображения и другие ресурсы, необходимые пользователям при подключении к веб-сайту.
    • routes. Содержит все обработчики маршрутов для приложения. В этой папке автоматически создаются два файла, index.js и users.js, которые служат примерами разделения конфигурации маршрута приложения.
    • views. Содержит файлы, используемые модулем шаблонов. Express настроен на поиск подходящего представления при вызове метода преобразования. Обработчик шаблонов по умолчанию — Jade, но Jade является устаревшим в сравнении с Pug, поэтому для изменения подсистемы просмотра (шаблона) мы использовали флаг --view. Параметры флага --view и другие можно увидеть, используя express --help.
    • app.js. Начальная точка приложения. Она загружает все и начинает обслуживать запросы пользователей. По сути, это связующий элемент, который содержит все части вместе.
    • package.json. Содержит описание проекта, диспетчер скриптов и манифест приложения. Его основное назначение заключается в отслеживании зависимостей приложения и их соответствующих версий.
  5. Теперь необходимо установить зависимости, которые Express будет использовать, чтобы создать и запустить приложение HelloWorld Express (пакеты, используемые для таких задач, как запуск сервера, как определено в файле package.json). В VS Code откройте терминал, выбрав Представление>Терминал (или нажмите Ctrl+`, используя символ обратного апострофа), убедитесь, что вы все еще находитесь в каталоге проекта "HelloWorld". Установите зависимости пакета Express с помощью:

    npm install
    
  6. На этом этапе платформа настроена для многостраничного веб-приложения, имеющего доступ к большому спектру интерфейсов API и методов служебных приложений HTTP и ПО промежуточного слоя, что упрощает создание надежного API. Запустите приложение Express на виртуальном сервере, введя следующее:

    npx cross-env DEBUG=HelloWorld:* npm start
    

    Совет

    Часть DEBUG=myapp:* приведенной выше команды означает, что вы указываете Node.js включить ведение журнала в целях отладки. Не забудьте заменить "myapp" именем своего приложения. Имя приложения можно найти в файле package.json в свойстве "name". Использование npx cross-env устанавливает переменную среды DEBUG в любом терминале, но ее также можно задать с помощью конкретного терминала. Команда npm start сообщает npm о необходимости запуска скриптов в файле package.json.

  7. Теперь вы можете просмотреть работающее приложение, открыв веб-браузер и перейдя по адресу: localhost:3000

    Screenshot of Express app running in a browser

  8. Теперь, когда приложение HelloWorld Express выполняется локально в браузере, попробуйте внести изменения, открыв папку "views" в каталоге проекта и выбрав файл "index.pug". После открытия измените h1= title на h1= "Hello World!" и выберите Сохранить (Ctrl+S). Просмотрите изменения, обновив URL-адрес localhost:3000 в веб-браузере.

  9. Чтобы остановить запуск приложения Express, в терминале введите: CTRL+C

Использование модуля Node.js

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

Средство Используется для
gm, sharp Обработка изображений, включая редактирование, изменение размера, сжатие и т. д., непосредственно в коде JavaScript
PDFKit Поколение PDF
validator.js Проверка строки
imagemin, UglifyJS2 Минификация
spritesmith Создание листа спрайтов
winston Ведение журналов
commander.js Создание приложения командной строки

Давайте воспользуемся встроенным модулем ОС для получения сведений об операционной системе компьютера:

  1. В командной строке откройте интерфейс командной строки Node.js. После входа вы увидите подсказку >, сообщающую вам, что вы используете Node.js: node

  2. Чтобы определить операционную систему, используемую в данный момент (которая должна возвращать ответ, сообщающий о том, что вы работаете под Windows), введите: os.platform()

  3. Чтобы проверить архитектуру ЦП, введите: os.arch()

  4. Чтобы просмотреть доступные в системе процессоры, введите: os.cpus()

  5. Оставьте интерфейс командной строки Node.js, введя .exit или дважды нажав CTRL+C.

    Совет

    Модуль OS Node.js можно использовать для выполнения таких действий, как проверка платформы и возврата переменной для конкретной платформы: Win32/.bat для разработки Windows, дарвин/.sh для Mac/unix, Linux, SunOS и т. д. (например, var isWin = process.platform === "win32";).