#javascript #node.js #reactjs #express #middleware
#javascript #node.js #reactjs #экспресс #промежуточное программное обеспечение
Вопрос:
Документация для express.static()
промежуточного программного обеспечения Express гласит:
Для обслуживания статических файлов, таких как изображения, файлы CSS и файлы JavaScript, используйте встроенную функцию промежуточного программного обеспечения express.static в Express.
Похоже, что включены JS-файлы для динамических приложений React, поскольку express.static("some_build_dir")
, похоже, они работают даже тогда, когда some_build_dir
это интерфейсное приложение React.
Однако кажется естественным, что приложения React, которые используют JS для динамической генерации веб-контента, следует считать динамическими, а не статическими, поэтому здесь я кое-что упускаю.
В: Какие вещи Express на самом деле считает «нестатическими» или «динамическими», если даже исходные файлы приложений React не соответствуют требованиям?
Комментарии:
1. «Статический» в основном означает фактические файлы в файловой системе. То, что происходит с клиентом, не имеет значения.
2. @GuyIncognito Итак, просто для подтверждения, определение «статический» в контексте Express отличается от определения «статический» во фразе «статическая веб-страница», это правильно?
3. Да. Express не знает и не заботится о том, что клиент делает с материалом, который он туда отправляет.
4. Для серверов статические файлы — это те, которые не «анализируются» сервером, например javascripts, таблицы стилей, изображения, документы и т.д. Express не запускает javascript в вашем каталоге сборки. Express напрямую передает его клиенту, в отличие от javascript в файлах javascript вашего сервера. Я знаю, что вначале это сбивает с толку, поэтому 1ed для противодействия понижению голосов.
Ответ №1:
Статические: файлы, которые веб-сервер (Express) считывает из файловой системы и отправляет клиенту в неизмененном виде.
Нестатические: ответы, которые генерируются программно (например, из шаблона, в который вставляются данные из базы данных).
Однако кажется естественным, что приложения React, которые используют JS для динамической генерации веб-контента, следует считать динамическими, а не статическими, поэтому здесь я кое-что упускаю.
Что касается сервера, исходный код JS и загрузочный HTML-файл, который он отправляет клиенту, являются статическими. Динамическая их часть обрабатывается на стороне клиента, которая находится вне контроля сервера.
Ответ №2:
статическое промежуточное программное обеспечение означает, что это статический файл или папки, и это true. приложение react является статичным, код не изменен, тот же index.html будет служить пользователю как статический файл, тогда содержимое будет изменяться при взаимодействии с пользователем и запросах API, но источник файлов останется тем же и не изменится