fix: missing explaination

This commit is contained in:
2025-12-13 10:43:51 +03:00
parent 9b5dbb718e
commit 1f72a64b83

View File

@@ -152,6 +152,7 @@ npm install express
### **Теория: Архитектура серверного приложения** ### **Теория: Архитектура серверного приложения**
Разделение кода на разные файлы (`app.js` и `server.js`) следует принципу разделения ответственности. `app.js` отвечает за логику приложения: настройку middleware (промежуточного ПО), определение всех маршрутов и обработчиков. `server.js` отвечает за инфраструктуру: запуск HTTP-сервера на определённом порту и обработку сетевых соединений. Такое разделение делает код модульным и тестируемым. Вы можете импортировать объект `app` из `app.js` в тесты, не запуская реальный сервер. Переменная окружения `process.env.PORT` используется для настройки порта. На локальной машине вы используете порт 3000, но когда приложение размещается на хостинге (например, Heroku или Render), платформа сама назначает порт через эту переменную. Это стандартный подход для облачных сервисов. Разделение кода на разные файлы (`app.js` и `server.js`) следует принципу разделения ответственности. `app.js` отвечает за логику приложения: настройку middleware (промежуточного ПО), определение всех маршрутов и обработчиков. `server.js` отвечает за инфраструктуру: запуск HTTP-сервера на определённом порту и обработку сетевых соединений. Такое разделение делает код модульным и тестируемым. Вы можете импортировать объект `app` из `app.js` в тесты, не запуская реальный сервер. Переменная окружения `process.env.PORT` используется для настройки порта. На локальной машине вы используете порт 3000, но когда приложение размещается на хостинге (например, Heroku или Render), платформа сама назначает порт через эту переменную. Это стандартный подход для облачных сервисов.
В нашем примере мы используем максимально базовую файловую структуру. Настоящие приложения, как правило, очень сложные. Для того, чтобы их было удобно поддерживать, используют более сложную, но при этом изящную и удобную файлову структуру. Пример того, как могло бы выглядеть приложение в продакшене:
``` ```
my-first-api/ my-first-api/
├── backend/ ├── backend/