【发布时间】:2014-01-01 15:51:21
【问题描述】:
背景
我有一个图像目录,app/assets/images/sprites/flags/*.png,它将被精灵化。 Compass、Sass 和 Sprockets 一起工作,这样我就可以放置
@import "sprites/flags/*.png";
...
.flag.en {
@include flags-sprite(en)
}
在我的.scss 文件中。这样,Compass 会在我编译 SCSS 文件时生成文件app/assets/images/sprites/flags-abc123.png。
问题
我想通过 Rake 任务或 shell 命令预编译 flags-abc123.png 文件而不编译我的 .scss 文件。有办法吗?
基本原理
编译应用程序中的所有.scss 文件是部署过程中很长的一部分。我们希望通过在一台机器上生成并分发它们来加速部署。不幸的是,其他机器会生成错误的缓存破坏 URL,因为它们缺少已编译的 sprite 文件。如果我们可以预编译 sprite 文件,我们可以显着加快部署速度。
我尝试了什么
我尝试运行bundle exec compass sprite app/assets/images/sprites/flags/*.png。这会生成app/assets/stylesheets/_flags.scss,但不会生成app/assets/images/sprites/flags-abc123.png。
【问题讨论】:
-
你能添加你的 compass 项目的 config.rb 吗?
标签: ruby sass compass-sass css-sprites