Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

Объясните структуру приложения на Express JS?

Этот вопрос проверяет понимание базовой структуры проекта на Express.js и умение организовывать код.

Короткий ответ

Структура приложения Express.js включает входную точку (обычно app.js или server.js), каталоги для маршрутов, контроллеров, моделей, middleware, представлений и статических файлов. Это разделение упрощает чтение, поддержку и масштабирование приложения.

Длинный ответ

Стандартная структура приложения Express.js:

  • Входная точка (app.js или server.js):
    Здесь настраивается сервер, подключается база данных, middleware и основные маршруты.

    const express = require('express');
    const app = express();
    const routes = require('./routes/index');
    
    app.use(express.json());
    app.use('/api', routes);
    
    app.listen(3000, () => console.log('Server running on port 3000'));
  • Каталог routes:
    Содержит файлы, описывающие маршруты приложения.

    // routes/userRoutes.js
    const express = require('express');
    const router = express.Router();
    const userController = require('../controllers/userController');
    
    router.get('/', userController.getUsers);
    module.exports = router;
  • Каталог controllers:
    Содержит логику обработки запросов.

    // controllers/userController.js
    exports.getUsers = (req, res) => {
      	res.json([{ id: 1, name: 'John Doe' }]);
    };
  • Каталог models:
    Используется для описания схем данных, например, для MongoDB.

    const mongoose = require('mongoose');
    const UserSchema = new mongoose.Schema({
      	name: String,
      	email: String,
    });
    module.exports = mongoose.model('User', UserSchema);
  • Каталог middleware:
    Содержит пользовательские middleware для обработки запросов.

    module.exports = (req, res, next) => {
      	console.log(`${req.method} ${req.url}`);
      	next();
    };
  • Каталог views:
    Если используется шаблонизатор (EJS, Pug), здесь хранятся файлы представлений.

  • Каталог public:
    Для хранения статических файлов (CSS, изображения, JavaScript).

    public/
      	css/
      	js/
     	images/
  • Преимущества такой структуры:

    1. Разделение обязанностей.

    2. Простота в масштабировании.

    3. Удобство тестирования и поддержки.

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

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • Express

Ключевые слова

#express

#routes

#controllers

#middleware

#models

#views

#static files

Подпишись на Node.js Developer в телеграм

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.