Yeoman更改图片文件名,而不是用HTML更新

Set*_*hen 3 html javascript css angularjs yeoman

我一直在Yeoman的帮助下构建一个Angular应用程序,我发现除了一件小事之外它是非常令人愉快的.

当我构建和部署我的项目时,grunt serve:dist我使用的所有图像都被破坏了.这是因为Yeoman正在更改每张图片的文件名,但不打算更新HTML.但是,它确实更新了CSS.

例如,如果我有一张图片default_picture,我在我的HTML中使用它,如下所示:

<img src="../images/default_picture.jpg" alt="#">
Run Code Online (Sandbox Code Playgroud)

当项目被建成,约曼从改变图像的文件名default_picture,以类似default_picture.cbed2a58.jpg,但srcimg标签永远不会更新,因此图像不再在目录结构中的有效图像的参考.

我在Github上搜索了Yeoman项目,我似乎无法找到答案.

我如何解决这个问题,以便我可以正确更新HTML或者只是停止更改我的图像文件名?

Set*_*hen 9

只有我能够解决这个问题的解决方案就是注释掉这一行:

// Renames files for browser caching purposes
filerev: {
    dist: {
        src: [
            '<%= yeoman.dist %>/scripts/{,*/}*.js',
            '<%= yeoman.dist %>/styles/{,*/}*.css',
            // '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
            '<%= yeoman.dist %>/styles/fonts/*'
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

对我来说,这是上线214Gruntfile.js.可能有一个解决方案,但这是一个临时修复.

  • @JaredCubilla我认为这比任何事都更加理智.如果我有一个名为`hello.png`的文件,我想在Photoshop或其他地方更改图片并再次保存为`hello.png`并替换文件,浏览器有时会缓存上一张图片,你仍然会看到旧文件而不是新文件.所以,我得到了理由,但它只是扁平化不起作用. (2认同)