В полностью рендеринге на стороне сервера (не Web 2.0) развертывание кода на стороне сервера будет непосредственно обновлять страницы клиентской стороны при перезагрузке страницы. Напротив, в приложении с одиночной страницей, основанной на React, даже после обновления компонентов React все еще будут некоторые клиенты, использующие старую версию компонентов (они получают только новую версию при перезагрузке браузера, что должно произойти редко) -> Если страницы полностью SPA, возможно, что некоторые клиенты только обновляют страницы через несколько часов.Как принудительно обновлять страницы страниц с одной страницей (SPA)?
Какие методы следует использовать, чтобы убедиться, что старые версии компонентов больше не используются никакими клиентами?
Обновление: API не изменяется, обновляется только компонент React Component с более новой версией.
Хороший вопрос. Я могу думать о нескольких путях. Либо используя SSE (события, отправленные сервером), либо веб-узлы, чтобы уведомить клиента, у которого есть новое обновление, следовательно, они могут обновить его при готовности (чтобы убедиться, что они не находятся в середине того, где автоматическое обновление может вызвать некоторые разочарования). –
, оставляя сокет открытым только для обновлений кода, вероятно, излишним и не нужен, так как чистый клиент может работать вечно. Это серверная связь, которая будет подвержена риску. отправьте штамп версии с каждым запросом сервера, и если ваш сервер получит что-то старое, ответьте сообщением об ошибке, которое приведет к перезагрузке страницы (возможно, после запроса пользователя в первую очередь). если вы можете одновременно поддерживать старые и новые, до тех пор, пока старые не сохнут, это идеально ... – dandavis