当我构建我的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文件中更新图像路径?
编辑:我已将我的解决方案添加为答案
答案 0 :(得分:8)
您可以通过将<%= yeoman.dist %>/images
添加到usemin任务的assetsDirs
来解决此问题。见http://www.github.com/yeoman/yeoman/issues/824#issuecomment-32691465
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']
},
检查您是否有此任务配置。