【发布时间】:2017-06-14 01:55:42
【问题描述】:
当与angular-cli 捆绑时,块在生产模式下获得唯一的名称。重复捆绑(例如部署新版本)会清除 dist 目录并将具有新文件名的新捆绑包放在那里,只有 index.html 被替换,指向现在的当前捆绑包名称。
当此类过时版本尝试延迟加载捆绑包并获得 404 时,这会导致应用程序已加载实例出现问题。
解决此问题的最佳做法是什么?我可以想到几种解决方案,但想寻求一些意见。
调整构建过程以不删除过时的文件,而是将它们并行保留一段时间。那么问题仍然存在:持续多久? SPA 浏览器窗口可以保持打开多长时间没有直接限制。
以某种方式处理捆绑包加载时的 404 并重新加载应用程序。哪里做得最好?
在 SPA 中定期“更新”检查,或者使用服务器端组件。这样做的好处是能够在新版本可用时强制用户更新他们的 SPA,但缺点是需要服务器端逻辑,从而混合了前端和后端。
【问题讨论】:
标签: angular single-page-application angular-cli