Во-первых, мы устанавливаем зависимости, которые нам понадобятся, через NPM.

  • Нам нужен dotenv для импорта переменных среды в файл app.js:
npm i --save dotenv
  • Нам нужен axios для выполнения HTTPS-запросов к другим серверам:
npm i --save axios
  • Нам нужен сам express:
npm i --save express
  • Нам нужен body-parser, который поможет нам легко анализировать входящие объекты из HTTPS-запросов в формат JSON:
npm i body-parser
  • Нам нужен cors, чтобы упростить настройку параметров CORS:
npm i --save cors
  • Нам нужен nodemon, чтобы помочь нам развивать наш сервер в режиме разработки.
npm i -D nodemon

Ваша файловая структура должна выглядеть примерно так:

📦nodejs-simple-server
 ┣ 📂node_modules
 ┣ 📂routers
 ┃ ┗ 📜databaseRouter.js
 ┃ ┗ 📜router.js
 ┣ 📜app.js
 ┣ 📜.gitignore
 ┣ 📜package-lock.json
┗ 📜package.json

Файл app.js должен выглядеть примерно так:

require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();

app.use(cors());

app.use(bodyParser.json());

const router = require('./routers/router');

app.get('/', (req, res) => {
  res.status(200).send('This is a message from our Simple Node.js Server.');
});

app.use(router);

const PORT = process.env.PORT;

app.listen(PORT, () => {
  logger.info(`Simple server listening on port ${PORT}`);
});

module.exports = app;

Давайте рассмотрим app.js построчно:

  • Мы используем dotenv для импорта переменных среды из нашего файла .env, например. процесс.env.ПОРТ
  • process.env.PORT используется для установки номера порта, который наше простое приложение Node.js будет прослушивать, например. порт 5000
  • Нам нужно импортировать express и создать его таким образом "express()".
  • Мы используем "bodyParser.json()" для автоматического преобразования входящих данных в формат JSON.
  • Мы используем app.use(cors()), чтобы разрешить HTTPS-запросы на наш простой сервер Node.js из любого места.
  • Обратите внимание, что «cors()» разрешает входящий трафик откуда угодно.
  • Если вы хотите разрешить входящий трафик только из списка определенных доменов, вам необходимо выполнить дальнейшие настройки с помощью пакета cors npm.
  • Мы используем «res.status(200).send()», чтобы отправить сообщение обратно через HTTPS.
  • Мы используем «app.use(router)», чтобы импортировать все маршруты, которые мы установили для нашего простого сервера Node.js.
  • Например, у нас есть файл с именем «databaseRouter.js», в котором содержится вся логика для взаимодействия с нашим внутренним сервером.
  • Корневой путь для доступа к логике базы данных может быть установлен как http://localhost:5000/db/
  • Затем, например, если нам нужно получить данные для конкретного пользователя, мы можем сделать HTTPS-запрос по следующему пути: http://localhost:5000/db/{userId}
  • Наконец, мы запускаем наш сервер с помощью «app.listen()», чтобы он мог начать прослушивание HTTPS-запросов на указанном номере порта, например. 5000

Это все для этой статьи!

Если вам нужна помощь в изучении Javascript или в прохождении собеседования по кодированию Javascript, вы можете связаться с нами по адресу [email protected]

Мы регулярно публикуем короткие технические руководства, поэтому рассмотрите возможность подписки на наш блог Medium.

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

Но что еще более важно, оставайтесь сосредоточенными!