angularjs - hacer - formularios reactivos en angular
Problemas para actualizar los cambios de angularjs en el servidor de producción (2)
Tengo un problema recurrente que ocurre cuando realizo cambios en mi aplicación angularjs. El problema es que tengo que actualizar la página si deseo sembrar los cambios que he hecho. Esto es un problema, porque no quiero que mis usuarios tengan que actualizar la página (es posible que no sepan hacer esto). Ellos pueden pensar que el sitio está roto. ¿Existe algún tipo de directiva angular o proceso que pueda seguir y que permita que los cambios en la interfaz de usuario se reflejen en mi servidor de producción sin que los usuarios tengan que actualizar la página?
Usando html2js puede administrar más fácilmente el control de versiones de plantillas. Es un plugin grunt que cargará todas sus plantillas en un archivo js. Lo malo es que todas sus plantillas se cargan independientemente de la necesidad, al revés es que tiene todas sus plantillas cargadas listas para usar en una llamada http y un punto de almacenamiento en caché para ellas. De esta manera puede configurar para cambiar el nombre de su archivo js en nuevas versiones y reventar la memoria caché de las plantillas en producción. En cuanto a dev, la otra respuesta aquí es suficiente.
Hay un par de soluciones que podrías mirar,
- Hay una respuesta similar a su pregunta aquí:
AngularJS deshabilita el almacenamiento en caché parcial en la máquina dev
Para citar la respuesta aceptada en esa publicación:
"Esta es una forma de borrar siempre automáticamente el caché cada vez que cambia el contenido de ng-view"
myApp.run(function($rootScope, $templateCache) { $rootScope.$on(''$viewContentLoaded'', function() { $templateCache.removeAll(); }); });
- Una solución no angular también se puede encontrar aquí:
Forzar navegador para borrar el caché
Para citar la mejor respuesta en esa publicación (la respuesta de Fermin):
Si se trata de ver los cambios css o js de una manera, se debe agregar _versionNo al archivo css / js para cada versión. P.ej
script_1.0.css script_1.1.css script_1.2.css etc.
Puede consultar este enlace para ver cómo podría funcionar.
Espero que estos ayuden
EDITAR. Para responder a su comentario, lamento que lo anterior no haya funcionado.
¿Quizás podría intentar implementar un enfoque basado en websockets, similar a Trello, mediante el cual después de un cierto período de tiempo le pide al usuario que actualice su página para recibir nuevas actualizaciones en el sistema o para actualizar si se agotó el tiempo de espera? Dependiendo de su configuración, puede encontrar este tutorial útil: http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets/