Привет, я Кирилл Алехин — предприниматель, атишник и создатель веб-студии XSL в ОАЭ. Сегодня мы разберем, как создать бэкенд-сервер на Node.js с нуля. Node.js — это мощная платформа, которая позволяет писать серверный код на JavaScript, и она идеально подходит для быстрого прототипирования и масштабируемых решений.
Почему Node.js?
Node.js выбирают за его скорость, асинхронность и огромную экосистему модулей. Он отлично подходит для:
- RESTful API;
- реального времени (WebSockets);
- микросервисной архитектуры;
- быстрого старта проектов.
Шаг 1: Установка Node.js и настройка проекта
Первым делом убедитесь, что у вас установлен Node.js. Скачайте его с официального сайта или установите через пакетный менеджер (например, brew на macOS или apt на Linux).
Создайте папку для проекта и инициализируйте package.json:
mkdir my-node-server
cd my-node-server
npm init -y
Шаг 2: Установка Express.js
Express — это минималистичный фреймворк для Node.js, который упрощает создание сервера. Установите его:
npm install express
Шаг 3: Создание базового сервера
Создайте файл server.js и добавьте следующий код:
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Привет от сервера на Node.js!');
});
app.listen(PORT, () => {
console.log(`Сервер запущен на порту ${PORT}`);
});
Запустите сервер:
node server.js
Откройте браузер и перейдите по адресу http://localhost:3000. Вы должны увидеть сообщение «Привет от сервера на Node.js!».
Шаг 4: Обработка маршрутов
Добавим несколько маршрутов для демонстрации работы API:
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'Кирилл' }, { id: 2, name: 'Алексей' }]);
});
app.post('/api/users', (req, res) => {
res.send('Пользователь создан');
});
Для тестирования POST-запросов используйте инструменты вроде Postman или cURL.
Шаг 5: Подключение базы данных (MongoDB)
Часто бэкенд требует хранения данных. Рассмотрим подключение MongoDB с помощью mongoose:
npm install mongoose
Добавьте в server.js:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydb', { useNewUrlParser: true });
const User = mongoose.model('User', { name: String });
app.get('/api/db-users', async (req, res) => {
const users = await User.find();
res.json(users);
});
Шаг 6: Middleware и обработка ошибок
Express позволяет использовать middleware для обработки запросов. Например, для парсинга JSON:
app.use(express.json());
Добавьте обработчик ошибок:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Что-то пошло не так!');
});
Шаг 7: Запуск сервера в продакшене
Для продакшена используйте pm2 или forever для автоматического перезапуска сервера:
npm install -g pm2
pm2 start server.js
Заключение
Мы создали базовый сервер на Node.js с маршрутами, подключением к базе данных и обработкой ошибок. Node.js — это мощный инструмент, который позволяет быстро разрабатывать бэкенд для любых проектов. Если вам нужна помощь в создании масштабируемых решений, обращайтесь в нашу веб-студию XSL в ОАЭ — мы знаем, как сделать ваш проект успешным!
Удачи в разработке!
