Рубрики
Без рубрики

Настройка простого, безопасного и надежного узла JS-сервера

В этом руководстве мы будем создавать простой сервер – во-первых, без экспресс, а затем с Expres … Теги с узлом, Express, JavaScript, API.

В этом руководстве мы будем создавать простой сервер – во-первых, без выражать а потом с Экспресс Отказ

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

Оглавление

  • Установить Node.js и NPM
  • Проверьте, была ли установка успешной
  • Создайте сервер узла без Express
  • Проверьте наш сервер
  • Отправить ответ от нашего сервера
  • Создайте сервер узла с Express
  • Закрепите свой сервер. Сделать это будущим доказательством
  • Вывод

Установите Node.js и NPM (если вы этого не сделали)

  1. Перейти к Настройка Node.js
  2. Нажмите на рекомендуемую кнопку загрузки

Когда загрузка завершена, установите Node.js, используя загруженные .exe Файл (Это следует нормальному процессу установки) Отказ

Проверьте, была ли установка успешной

  1. Перейти к вашему терминалу/командной строке (Беги как администратор, если это возможно)
  2. Введите каждый из следующих и нажмите кнопку ENTER
    node -v

    npm -v

Ваш выход должен быть похож на изображение ниже.

Версия может быть разной, но это нормально.

Создайте сервер узла без Express

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

  1. Давайте начнем с создания каталога проекта. Запустите терминал и введите следующее, чтобы создать каталог и откройте его.
  mkdir server-tutorial
  cd server-tutorial

Я назвал свой каталог проекта: Сервер-Учебник (Вы можете назвать ваши, как вы, пожалуйста) Отказ

  1. В терминале введите следующее: NPM init Отказ Хит Введите Кнопка для всех подсказок. Когда завершено, вы должны иметь package.json Файл сидит в вашем каталоге проекта.

package.json Файл – это просто файл со всеми деталями вашего проекта. Вам не нужно открывать его.

  • Создать файл index.js

  • В файле требуется Http Модуль вроде так:

    const http = require('http');
  • Позвоните в Createserver () метод на нем и назначьте его постоянно так
    const server = http.createServer();
  • Позвоните в Слушать () Метод на константу сервера, как так
    server.listen();
  • Дайте ему порт, чтобы слушать. Теперь это может быть любой бесплатный порт Но мы будем использовать порт 3000 который является обычным портом. Итак, у нас есть
    const http = require('http');

    const server = http.createServer();

    server.listen(3000);

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

Проверьте наш сервер.

  1. В вашем терминале (должно быть в каталоге проекта) , введите Узел index.js и ударил Введите кнопка.

  2. Откройте новую вкладку в почтальон или любой веб браузер А в адресной строке введите http://localhost: 3000/ и ударил Введите кнопка. (Я буду использовать почтальон из-за этого расширенные функции вне коробки)

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

Yaye … Это нормально. Наш сервер работает и работает.

Но это уже скучно. Нам нужно сделать сервер поговорить с нами.

Давайте доберемся до него сразу Отказ

Отправить ответ от нашего сервера

Вернуться в наш код, добавьте следующее в const.createserver ();

   (request, response) => {
      response.end('Hey! This is your server response!');
   }

Так что у нас сейчас есть:

  const http = require('http');

  const server = http.createServer((request, response) => {
    response.end('Hey! This is your server response!');
  });

server.listen(3000);

В термине Лэймана Запрос Объект говорит Сервер что мы хотим что-то, ответ Объект говорит нам, что Сервер должен сказать о наших Запрос и конец () Способ завершает связь с сервер отклик .

Надеюсь, это имеет смысл!

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

Не стесняйтесь менять строку, как вы хотите.

Использовать Контроль/команда + C Чтобы завершить сервер и запустить Узел индекс Чтобы начать сервер снова.

Выглядящий острым! Правильно? Все хорошо…

Создайте сервер узла с Express

В этом разделе мы хотим сделать нашу жизнь проще, используя выражать и Номемон (Узел-пн или бездемона, произнесены как вы хотите).

  • В терминале установите следующие
  npm install express --save
  npm install nodemon --save-dev
  • Создайте новое имя файла IT app.js. Или все, что вам подходит

  • В файл,

я. Требовать экспресс так

const (‘Express’);

II. Назначьте метод Express для постоянной, как так

const ();

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

module.exports;

Итак, у нас есть:

const express = require('express');

const app = express();



module.exports = app;
  • В index.js Файл, требуется приложение Мы экспортировали некоторое время назад, например,

const (‘./приложение’) ;

  • Установите порт, используя приложение, как так

app.set (‘port’, 3000);

  • Замените код в http.createserver () Метод с просто приложение вот так

const.createserver (приложение);

Это направляет все управление API для app.js Файл, помогающий с разделением проблем.

Итак, наш index.js файл теперь выглядит так

const http = require('http');
const app = require('./app');

app.set('port', 3000);
const server = http.createServer(app);

server.listen(3000);
  • Вернуться в нашу app.js Файл, поскольку мы направили все управление API здесь, давайте создадим API, чтобы поговорить с нами, как раньше.

Итак до Module.exports добавьте следующее

app.use((request, response) => {
   response.json({ message: 'Hey! This is your server response!' }); 
});

У нас сейчас есть:

const express = require('express');

const app = express();

app.use((request, response) => {
   response.json({ message: 'Hey! This is your server response!' }); 
});

module.exports = app;

Ахааа … Пришло время проверить наше приложение

Чтобы проверить наше приложение, мы сейчас введите Индекс Nodemon в нашем терминале и ударил Введите кнопка. Это мой терминал

Уменяете ли вы, что Neademon дает нам детали выполнения в терминале в отличие от узла? Это красота узема.

Теперь вы можете пойти в почтальон или любой браузер А в адресной строке введите http://localhost: 3000/ и ударил Введите кнопка. Смотрите мой выход:

Walah !!! Это работает.

Сейчас больше причина использовать Nodemon. Перейти к app.js Файл и изменить сообщение строка в любую строку по вашему выбору, сохранить и посмотреть Терминал Отказ

Ух ты… Он автоматически перезапускает сервер. Это было невозможно с узлом. Нам пришлось перезапустить сервер.

Закрепите свой сервер. Сделать это будущим доказательством

  1. В index.js Файл, замените весь код следующим:
const http = require('http');
const app = require('./app');

const normalizePort = val => {
  const port = parseInt(val, 10);

  if (isNaN(port)) {
    return val;
  }
  if (port >= 0) {
    return port;
  }
  return false;
};
const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

const errorHandler = error => {
  if (error.syscall !== 'listen') {
    throw error;
  }
  const address = server.address();
  const bind = typeof address === 'string' ? 'pipe ' + address : 'port: ' + port;
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges.');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use.');
      process.exit(1);
      break;
    default:
      throw error;
  }
};

const server = http.createServer(app);

server.on('error', errorHandler);
server.on('listening', () => {
  const address = server.address();
  const bind = typeof address === 'string' ? 'pipe ' + address : 'port ' + port;
  console.log('Listening on ' + bind);
});

server.listen(port);

Process.env. Порт делает приложение динамически так, чтобы он мог запустить любой порт, назначенный ему в будущем при размещении на живом сервере

Normalizeport Функция возвращает действительный порт, оказывается ли он в виде номера или строки

ErrorHandler Функция проверяет различные ошибки и обрабатывает их соответствующим образом – затем зарегистрирован на сервере

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

Yooh! Наш сервер более безопасен и сейчас надежно. Обратите внимание, что Nodemon также отображает порт, который мы сейчас слушаем.

Там у вас есть, Простой, безопасный и надежный сервер Nodejs

Вывод

Мы смогли узнать, как создать сервер, используя только nodejs, после чего, мы улучшили наш сервер, используя Express и Nodemon.

Все коды можно найти здесь

EbereGit/Server-Tutorial

Это учебник должен был научить, как создать простой, безопасный и надежный сервер NODEJS, но мы расширили наш объем до County и Postgres

Далее мы смотрим на изображение загружать в обладание, используя nodejs и express.

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

Вы также можете следовать за мной и сообщить мне на платформы в социальных сетях.

Твиттер | Linkedin. | Гадость

Спасибо за уделенное время.

Оригинал: “https://dev.to/ebereplenty/setting-up-a-simple-secure-and-robust-node-js-server-10n0”