2

我刚刚下载了一份新的约曼。当我使用 grunt 构建时,我看到我的所有图像都已转换,并且它们的文件名已重命名。

但是,html 文件中的引用不引用新名称。

知道为什么吗?

imagemin: {
  dist: {
    files: [{
      expand: true,
      cwd: '<%= yeoman.app %>/img',
      src: '{,*/}*.{png,jpg,jpeg}',
      dest: '<%= yeoman.dist %>/img'
    }]
  }
},

usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    dirs: ['<%= yeoman.dist %>']
  }
},

ngapp/views/main.html

<a href="#red-green" style="background-image: url('img/demo/red-green.png');background-repeat: no-repeat;"></a>
4

2 回答 2

2

重命名由grunt-filerevGruntfile 中的任务完成。该usemin任务负责更新对脚本、样式表和图像重命名文件的引用,但不支持内联样式。您应该background-image在样式表中移动引用或禁用该rev任务。

于 2013-08-15T07:42:01.663 回答
1

问题可能是您的 HTML 文件中图像的 url 是相对路径,并且 usemin 无法将图像的新路径解析为您的 url。请参阅 github 上的 @eddiemonge 评论以获得更好的解释:https ://github.com/yeoman/grunt-usemin/issues/108

我遇到了同样的问题,并通过使用固定路径(在您的情况下是 /img/demo/red-green.png)来修复它,只要您的分发目录使用 /img 并且 img 也在您的根目录之外,它就可以正常工作开发时的应用程序。

于 2013-12-07T22:06:36.940 回答