Во-первых, мы устанавливаем зависимости, которые нам понадобятся, через 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.
До следующего раза — продолжайте программировать, продвигаясь небольшими шагами вперед в этом своем приключении.
Но что еще более важно, оставайтесь сосредоточенными!