Sass Yeoman CSS图像路径

Sass Yeoman CSS图像路径,sass,compass-sass,yeoman,Sass,Compass Sass,Yeoman,当我构建我的项目时(没有什么特别的,我只使用jQuery和Modernizer),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的文

当我构建我的项目时(没有什么特别的,我只使用jQuery和Modernizer),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文件中更新图像路径



编辑:我在
grunfile.js
中添加了我的解决方案作为答案,您需要调整
usemin
任务,以便处理引用:

// update references in HTML/CSS to revved files
    usemin: {
      html: ['**/*.html'],
      css: ['**/*.css']
    },
检查您是否有此任务配置。

更新(2014年2月24日)
您可以通过将
/images
添加到usemin任务的
assetsDirs
来解决此问题。看

先前的答复(2013年3月4日) GitHub上有一个关于这个特定问题的问题。已经建立了Yeoman的分支并实施了修复

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

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


有了这个补丁,Yeoman将在CSS中重命名相对图像路径,我的问题就得到了回答。谢谢大家的帮助

生成图像名称的是什么?它看起来像是一种破坏缓存的技术,但我不认为这是Compass使用的命名约定。它看起来像是由Compass生成的精灵表名称。您是否在.png文件的某个地方使用了@import?该名称可能来自于Yeoman,因为它还以这种方式重命名JS文件和CSS文件。我在
GruntFile.JS
中有这些行。我添加了
scss:['***.scss']
,这将更新最终CSS文件中的文件名。但这条路是不正确的。我得到
background:url('/app/images/icon contact.png?1357818720')但我希望它是
背景:url(../images/icon contact.png?1357818720)我可能错了,但是您是否应该更改指南针任务的配置?images_dir属性可能需要为“../images”。或者在约曼用一个“臭虫”生成的图片。我已经发布了对我有用的答案。您可以通过将
'/images'
添加到
usemin
任务的
assetsDirs
来解决此问题。很高兴它能工作!我已经添加了我的评论作为对答案的更新。太好了。在这个问题上还有其他几种方法。