【问题标题】:Issues with files naming when useing filerev & usemin使用 filerev usemin 时的文件命名问题
【发布时间】:2015-05-01 10:51:39
【问题描述】:

假设我的项目中有 2 个静态资产(html 文件),文件 a.htmlb.html
文件 a.html 包含指向文件 b.html 的链接。

现在我运行了一个构建,这 2 个文件的名称已更改,一切正常(通过 filerev 模块)。
现在我只需要在文件b.html 中做一个小改动-> filerev 将在下一次构建中为文件b.html 提供一个新名称。因为文件 a 没有更改,所以它与上一个版本具有相同的名称。

现在,在下一个构建中,usemin 将转到文件 a 并将链接修复到新的 file b 名称,一切看起来都很好。但不是,因为文件 a 仍然与 prev build 同名,用户在尝试从 a 访问文件 b 时会得到一个断开的链接。

【问题讨论】:

    标签: gruntjs yeoman yeoman-generator grunt-usemin


    【解决方案1】:

    我想一个解决方法是每次生成随机文件名而不是文件名的哈希值。
    这样,您将生成所有文件,因此不会对其进行优化,但您可以防止版本之间的缓存问题,同时仍然允许缓存同一版本的浏览器。

    【讨论】:

      【解决方案2】:

      使用 grunt-angular-template 任务可以解决这个问题,因为它将所有模板添加到 angular 的 $templateCache 中,因此当请求模板并且最近的模板是时,不会向服务器发出真正的请求从缓存中加载。当然这并不理想,因为在大型应用程序中你不会想要这个,因为这可能会增加你的 js 文件大小

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多