V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
akinoniku
V2EX  ›  前端开发

给 css 和 js 的文件名加 hash 来使旧缓存失效,但这招不能用于在 js 或 css 中引用的静态资源(html 模板和图片之类的)

  •  
  •   akinoniku ·
    akinoniku · 2014-07-11 07:19:15 +08:00 · 7224 次点击
    这是一个创建于 3816 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为图片和模板文件是用string写在js里的嘛。。如果还要用CDN,这个情况就更麻烦了,有什么好办法吗。

    关键字:AngularJS, Grunt, CDN

    十分感谢
    10 条回复    2015-04-28 06:38:11 +08:00
    akinoniku
        1
    akinoniku  
    OP
       2014-07-11 07:20:15 +08:00
    现在的方案是 grunt-filerev ,但似乎只能替换写在HTML里面的引用
    duhastmich
        2
    duhastmich  
       2014-07-11 07:55:07 +08:00
    要么就所有静态资源放 /{hash}/ 下, 不过每次发布所有缓存都失效了
    lichao
        3
    lichao  
       2014-07-11 08:13:29 +08:00
    图片也加 hash,background-image:url(/assets/header-aaf6c7d9005006e90c3f19a36a616d43.png);
    jsonline
        4
    jsonline  
       2014-07-11 08:57:52 +08:00 via Android
    grunt usemin rev
    Jeremial
        5
    Jeremial  
       2014-07-11 09:09:00 +08:00   ❤️ 1
    grunt filerev
    grunt usemin
    http://github.com/jeremial/kman 我写的一个小项目, 里面就用这两个, 可以将css文件中的图片也替换成带有版本号的.
    belin520
        6
    belin520  
       2014-07-11 09:19:08 +08:00
    所以fis的静态资源管理还是非常独特的!
    learnshare
        7
    learnshare  
       2014-07-11 09:44:01 +08:00
    文件名后面加 hash:filename.jpg?version=11223344

    这种方法如何?
    akinoniku
        8
    akinoniku  
    OP
       2014-07-12 10:59:18 +08:00
    我找到个应该不错的解决方案 https://github.com/karlgoldstein/grunt-html2js
    ffx0s
        9
    ffx0s  
       2015-04-27 17:42:36 +08:00
    @Jeremial 你好,grunt filerev和 grunt usemin这个我也在用,但是只能替换html里的资源,css文件里的替换不了,貌似是配置错了。官方的文档不是很明白。。还有这个useminPrepare的作用是?
    akinoniku
        10
    akinoniku  
    OP
       2015-04-28 06:38:11 +08:00
    @ffx0s https://github.com/yeoman/grunt-usemin#assetsdirs 看这里,把 css 文件也添加进去就好。
    useminPrepare 是用来生成 xxxx:generated 这些 tasks 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2717 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:05 · PVG 14:05 · LAX 22:05 · JFK 01:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.