Yeoman CSS图像路径

时间:2013-01-14 10:23:45

标签: sass compass-sass yeoman

当我构建我的Yeoman项目时(没什么特别的,我只使用jQuery和Modernizr),CSS中使用的图像没有显示。

我的CSS代码

.contact {
    background:url(../icon-contact.png) no-repeat top center;
}

构建应用后的输出(无差异)

.contact {background:url(../icon-contact.png) no-repeat top center;}

这不起作用,因为icon-contact.png的文件名已更改为 f91724e0.icon-contact.png

如何确保在缩小的CSS文件中更新图像路径?


编辑:我已将我的解决方案添加为答案

2 个答案:

答案 0 :(得分:8)

更新(2014年2月24日)

您可以通过将<%= yeoman.dist %>/images添加到usemin任务的assetsDirs来解决此问题。见http://www.github.com/yeoman/yeoman/issues/824#issuecomment-32691465

上一个答案(2013年3月4日)

GitHub上有一个名为"usemin:css" doesn't generate correct image paths for relative urls的问题,关于这个特殊问题。 Tak Tran已成为Yeoman的一个分支并实施了修复。

以下是我删除当前Yeoman安装并安装Tak Tran的分支版本的方法:

npm uninstall yeoman -g
git clone git://github.com/taktran/yeoman.git
cd yeoman/cli
npm install -g
npm link

来源:https://github.com/yeoman/yeoman/wiki/Additional-FAQ

通过此修复,Yeoman将重命名CSS中的相对图像路径,我的问题得到了解答。谢谢大家的帮助!

答案 1 :(得分:0)

GruntFile.js中,您需要调整usemin任务,以便处理引用:

// update references in HTML/CSS to revved files
    usemin: {
      html: ['**/*.html'],
      css: ['**/*.css']
    },

检查您是否有此任务配置。