【问题标题】:Deploying AngularJS / Javascript applications部署 AngularJS / Javascript 应用程序
【发布时间】:2014-10-29 09:52:05
【问题描述】:

我们使用 grunt build 来构建一个 angularJS 应用程序。

构建的应用发布到直播服务器后,如何让用户知道有新版本的JS应用可用?因为他们的浏览器仍然会有之前组合的 javascript 文件。

另外,后端,即 PHP (Symfony2) 可能会发生变化,因此如果用户不刷新页面,某些 API 调用可能无法正常工作。请记住,后端更改将非常罕见。将 API 版本化为 v1, v2... 可能是一个小解决方案,但从长远来看,每个人最终都会使用最新的 API,因此保留旧版本是不需要更长的时间。

我正在考虑利用 Angular 的 $interval 服务并每分钟检查一次简单的 Web 服务,该服务将返回新应用程序的版本号。如果版本较新,角度应该显示一条消息并让用户知道刷新页面或强制刷新它。这是一个好的解决方案吗?

【问题讨论】:

    标签: javascript php angularjs symfony deployment


    【解决方案1】:

    只需尝试使用 grunt 向文件本身添加唯一的 version_id。

    src="name_of_your_file.js?v=INCREASING_VERSION_NUMBER"
    

    例如

    src="name_of_your_file.js?v=2
    

    【讨论】:

    • 感谢您的回答,但这并不是我当时真正需要的。使用 Angular,您尝试构建单页网站,因此用户不会经常刷新页面,因此该解决方案不会那么有效。
    • 让我们以爆米花时间的 Spotify 为例。当他们有更新时,他们会要求您重新启动应用程序。这样他们就可以使用我上面描述的版本方法。
    猜你喜欢
    • 2016-02-20
    • 2013-09-15
    • 2020-09-19
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多