Node js как запустить
Перейти к содержимому

Node js как запустить

  • автор:

Node.JS для решения задач

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

В этом разделе предлагаются задачи по теме AJAX.

Конечно же, они требуют взаимодействия с сервером. Мы будем использовать серверную часть, написанную на JavaScript, на Node.JS.

Если вы не использовали Node.JS ранее – не беспокойтесь. Здесь нашей целью является преимущественно клиентская часть, поэтому прямо сейчас изучать Node.JS не обязательно. Серверные скрипты уже готовы. Нужно только поставить Node.JS и модули, чтобы их запускать.

Установка

Для настройки окружения будет достаточно сделать два шага:

  1. Сначала установите сам сервер Node.JS. Если у вас Unix-система – рекомендуется собрать последнюю версию из исходников, а также NPM. Вы справитесь. Если Windows – посетите сайт https://nodejs.org или скачайте установщик (32 или 64-битный) с расширением .msi из https://nodejs.org/dist/latest/.
  2. Выберите директорию, в которой будете решать задачи. Запустите в ней:

npm install node-static

Проверка

    Создайте какую-нибудь поддиректорию и в ней файл server.js с таким содержимым:

var http = require('http'); var static = require('node-static'); var file = new static.Server('.'); http.createServer(function(req, res) < file.serve(req, res); >).listen(8080); console.log('Server running on port 8080');
Server running on port 8080

Нельзя запустить больше одного сервера одновременно!

При попытке запуска двух серверов (например, в разных консолях) – будет конфликт портов и ошибка.

  1. Откройте в браузере http://127.0.0.1:8080/server.js. Должно вывести код файла server.js .

Если всё работает – отлично, теперь вы готовы решать задачи.

Примеры

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

var http = require('http'); var url = require('url'); var querystring = require('querystring'); function accept(req, res) < res.writeHead(200, < 'Content-Type': 'text/plain', 'Cache-Control': 'no-cache' >); res.end("OK"); > http.createServer(accept).listen(8080);

…Будет только функция accept , или даже только её содержимое:

res.writeHead(200, < 'Content-Type': 'text/plain', 'Cache-Control': 'no-cache' >);

Основные методы

В функции accept используются два объекта:

  • req – объект запроса («request»), то есть то, что прислал клиент (обычно браузер), из него читаем данные.
  • res – объект ответа («response»), в него пишем данные в ответ клиенту.
    • вызов res.writeHead(HTTP-код, [строка статуса], ) пишет заголовки.
    • вызов res.write(txt) пишет текст в ответ.
    • вызов res.end(txt) – завершает запрос ответом.

    Демо

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

    Вот пример демо, можете попробовать нажать на кнопку – она работает.

    Если хотите посмотреть пример поближе и поиграть с ним – скачайте архив (кнопка справа-сверху в примере выше), он будет работать и на вашем Node.JS.

    Больше о Node.JS

    Больше о сервере Node.JS можно узнать в скринкасте по Node.JS.

    как запустить сервер node js

    Для запуска сервера Node.js нужно выполнить несколько шагов:

    1. Установить Node.js на компьютер, если он еще не установлен. Скачать установщик можно на официальном сайте Node.js.
    2. Создать файл с расширением .js , в котором будет содержаться код для запуска сервера. Например, создадим файл server.js .
    3. В файле server.js нужно написать код для создания сервера. Вот простой пример:
    const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) =>  res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n'); >); server.listen(port, hostname, () =>  console.log(`Server running at http://$hostname>:$port>/`); >); 

    Этот код создает сервер на локальном хосте (127.0.0.1) и порту 3000. Когда сервер запущен, он будет отвечать на любые запросы с сообщением «Hello, World!».

    1. Запустить сервер нужно в командной строке (терминале) из папки, где находится файл server.js . Например, если файл находится в папке myproject , то нужно перейти в эту папку командой cd myproject , а затем запустить сервер командой node server.js .
    2. Если все настроено правильно, то в консоли должно появиться сообщение «Server running at http://127.0.0.1:3000/ «, а в браузере можно открыть страницу по адресу http://127.0.0.1:3000/ и увидеть сообщение «Hello, World!».

    как запустить приложение node js

    Для запуска приложения из консоли следуйте такому порядку у вас должен быть установлен Node.js . Его можно загрузить с официального сайта https://nodejs.org .

    • Перейдите в папку с вашим приложением с помощью команды cd , например:
    cd my-app 
    • Установите все зависимости, используя команду npm install :
    install 
    • Запустите приложение с помощью команды node , указав файл, в котором находится код приложения:
    • Если ваше приложение настроено на работу с локальным сервером, оно будет доступно по адресу http://localhost:3000 (или с другим настроенным номером порта).

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

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

    • Использование Node.js в Visual Studio Code
    • Создание первого веб-приложения Node.js с помощью Express
    • Попробуйте использовать модуль Node.js

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

    • Установка Node.js в Windows или в подсистеме Windows для Linux.

    Если вы впервые пробуете 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); 

    Обратите внимание, что при вводе 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.

    • bin . Содержит исполняемый файл, который запускает приложение. Он запускает сервер (через порт 3000, если не указана альтернатива) и настраивает базовую обработку ошибок.
    • public . Содержит все общедоступные файлы, включая файлы JavaScript, таблицы стилей CSS, файлы шрифтов, изображения и другие ресурсы, необходимые пользователям при подключении к веб-сайту.
    • routes . Содержит все обработчики маршрутов для приложения. В этой папке автоматически создаются два файла, index.js и users.js , которые служат примерами разделения конфигурации маршрута приложения.
    • views . Содержит файлы, используемые модулем шаблонов. Express настроен на поиск подходящего представления при вызове метода преобразования. Обработчик шаблонов по умолчанию — Jade, но Jade является устаревшим в сравнении с Pug, поэтому для изменения подсистемы просмотра (шаблона) мы использовали флаг —view . Параметры флага —view и другие можно увидеть, используя express —help .
    • app.js . Начальная точка приложения. Она загружает все и начинает обслуживать запросы пользователей. По сути, это связующий элемент, который содержит все части вместе.
    • package.json . Содержит описание проекта, диспетчер скриптов и манифест приложения. Его основное назначение заключается в отслеживании зависимостей приложения и их соответствующих версий.
    npm install 
    npx cross-env DEBUG=HelloWorld:* npm start 

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

    Screenshot of Express app running in a browser

  • Теперь вы можете просмотреть работающее приложение, открыв веб-браузер и перейдя по адресу: localhost:3000
  • Теперь, когда приложение HelloWorld Express выполняется локально в браузере, попробуйте внести изменения, открыв папку «views» в каталоге проекта и выбрав файл «index.pug». После открытия измените h1= title на h1= «Hello World!» и выберите Сохранить (Ctrl+S). Просмотрите изменения, обновив URL-адрес localhost:3000 в веб-браузере.
  • Чтобы остановить запуск приложения 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»; ).

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

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