6

Вот только решения я придумал (не знаю, если они адекватным, хотя):Непрерывное развертывание одностраничного приложения?

обновлений на стороне сервера:

Версия каждый запрос клиента и иметь маршрут прокси к соответствующей серверной версии .

Cient сторона обновление:

Сообщите клиент через соединение WebSocket повторно вводить теги скрипта/стиля после Й количества холостых минут, таким образом, ссылающихся 2 запросов AJAX для обновления JS/CSS-файлы и обновить HTML-страницу .

Я не знаю, является ли это чем-то, что не должно быть приоритетом на ранних этапах приложения, и я должен просто взять все приложение для «планового обслуживания» ранним утром ,

Для целей SEO HTML-страницы главной страницы отправляются сервером вместе с одним JS/CSS-файлом.

ответ

0

При развертывании на сервере Tomcat, вы можете просто переписать .js и .css файлы в правильном «развернутом» место ....

копирования файлов/вашего/развернутом/приложение/место/webapp/js и т. д. это быстрый и простой способ «горячего развертывания» нового JS/CSS без сервера спускаться вниз ..... однако, если у вас есть поддержка по поддержке, которая также нуждается в обновлении, это может требуется перезапуск службы tomcat. в этом случае что-то вроде Дженкинса может помочь. http://www.tomcatexpert.com/blog/2012/03/21/integrating-jenkins-and-apache-tomcat-continuous-deployment

+0

Я сомневаюсь, что он развертывает node.js в tomcat. –

+1

Я делаю все время. Использование Java и Spring в качестве бэкэнд. Узел не должен выступать в качестве сервера. – Robert

+0

Тогда я не понимаю. Используете ли вы node.js на стороне клиента (в браузере)? Какие штуки? –

1

Я думаю, что Right Thing (tm) состоит в том, чтобы создать одностраничное приложение таким образом, чтобы он использовал RESTful API, который является общедоступным. Другими словами, подумайте об этом, как будто вы публикуете свой API для мира и при внесении изменений делают их обратно совместимыми. Я думаю, что это не так сложно, как может показаться, и оставит вас с более чистой системой. Конечно, лучше, чем строить сложные версии и жить схемы патчей!

+0

Таким образом, нарушения API-интерфейсов должны были быть медленным переходом. Каким будет подходящий способ введения новых функций или удаления старых, если «обновление» API не было изменением. Обновления API-интерфейсов могут быть закодированы для обратной совместимости, но добавление или вычитание функций подразумевают прямые изменения кода клиента и сервера. – paulkon

+0

Усовершенствование функции функции не проблема: старые кэшированные клиенты не будут знать об этом и не будут использовать его? –

+0

Но это проблема, если старые клиенты _never_ обновляют страницу. Как я могу когда-либо нажимать или отвлекать функции от этих клиентов? – paulkon

Смежные вопросы