Приложение. js in ExpressJS импортирует все файлы повторных требований снова при каждой загрузке страницы? - PullRequest
0 голосов
/ 15 января 2020

В ExpressJS основной файл приложения. js, насколько мне известно, загружается первым и импортирует весь необходимый ему код, например строки require ('myclass. js'), включая маршруты. et c.

Мой вопрос: каждый раз, когда пользователь запрашивает страницу у Express (домашняя страница, страница входа и т. д. 1014 *), выполняет Express, затем запускает весь код в приложении . js СНОВА? Требование всех файлов et c. Похоже на огромные накладные расходы?

Я так и не нашел четкого ответа на этот вопрос.

Спасибо

1 Ответ

1 голос
/ 15 января 2020

Мой вопрос: каждый раз, когда пользователь запрашивает страницу с Express (домашняя страница, страница входа и т. Д. c), Express затем запускает весь код в приложении. js СНОВА ? Требование всех файлов et c. Похоже на огромное количество накладных расходов?

Нет. Код верхнего уровня в app.js запускается один раз во время запуска сервера. Этот код загружает зависимости модуля, создает объект Express app, затем регистрирует на нем обработчики маршрута и затем запускает сервер http.

Обработчик маршрута, который соответствует входящему запросу http, будет вызываться каждый раз, когда приходит соответствующий входящий запрос, но будет вызван только тот обработчик запроса и любое соответствующее промежуточное программное обеспечение. Приложение Express и все обработчики маршрутов инициализируются только один раз.

Ваш код в node.js отличается от некоторых других сред тем, что ваш код и все его маршруты инициализируются один раз во время запуска сервера и этого сервера Затем объект продолжает работать, готовый выставить каждый входящий запрос и перенаправить его в соответствующие обработчики запросов. Точно так же любое состояние модуля, установленное вами в node.js, доступно и для всех будущих запросов.

Таким образом, когда пользователь переходит по URL-адресу /login, только обработчик запроса express для этой страницы (и любой настроенный промежуточное программное обеспечение). Другие маршруты просто ждут входящего запроса, который соответствует их конфигурации маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...