加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 3.1&Sprockets和编译的JS文件

发布时间:2020-12-17 02:29:18 所属栏目:百科 来源:网络整理
导读:所以只需使用Sprockets资产管道尝试Rails 3.1-rc1: 我运行rake资产:预编译 我得到/ public / assets目录和application.js文件MD5哈希: application-266b6b0b4fbd28fc01145d90a4158b2f.js 但问题是: 当我更新我的JS并运行rake资产时:预编译我得到更多的J
所以只需使用Sprockets资产管道尝试Rails 3.1-rc1:

我运行rake资产:预编译

我得到/ public / assets目录和application.js文件MD5哈希:

application-266b6b0b4fbd28fc01145d90a4158b2f.js

但问题是:

当我更新我的JS并运行rake资产时:预编译我得到更多的JS文件并且它不会删除旧文件.

我注意到它是如何工作的 – 浏览器只选择第一个,我必须手动删除旧的.这似乎不应该如何工作.

只是一个侧面抱怨:似乎我必须运行rake资产:每次我改变一些东西时预编译.哪个是痛苦的.

(我想需要有一些关于这一切是如何工作的文档).

谢谢.

解决方法

js文件的名称是<文件名> – < hash> .js.

这样做是为了在将新版本的应用程序部署到生产服务器时,访问者也必须加载新的js文件.散列确保它们不会混淆新的应用程序和旧的缓存js,这可能会破坏整个应用程序,同时考虑到当今Web的动态特性.

在大多数部署方案中,您将应用程序放在服务器上的新目录中,并且您不会在那里使用旧的已编译的js文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读