0

使用 Middleman 2.0.14,我使用 Compass 功能在我的 CSS 文件中生成一些精灵:

@import "companies/*.png";
@include all-companies-sprites;

这将获取所有文件source/images/companies/*.png并生成一个单独的 sprite 文件source/images/companies-s45e421528f.png。到现在为止还挺好。

当我执行 amiddleman build时,它会尽职地复制生成的图像文件,但也包含这些companies/*.png文件。

让部署脚本删除这些额外的文件并不是什么大不了的事,但我想知道是否有我在某处遗漏的选项?(或者也许“几乎准备好发布 MM 3.x”有解决方案?)也许我应该将companies/*.png文件放在源代码树的其他位置?

4

2 回答 2

2

after_build我建议用脚本(或钩子)清理它们。这是 Compass 的默认行为,用于在开发模式下生成图像,并且需要一些猴子补丁才能更改(目前,Compass 测试版可以直接访问这些选项)。

在 3.0 中,您可以尝试:

configure :build do
  ignore "source/images/companies/*.png"
end

但我不确定 Compass 不会因此而窒息。

于 2012-02-18T21:52:27.517 回答
0

使用ignore对我来说显着减慢了构建速度,因此我更喜欢将精灵资源放在source/.

这样,精灵在 下生成source/sprites/build/sprites并且源被排除而不使用ignore它。

以下是如何设置:

# config.rb

compass_config do |config|
    # tell Compass to load sprites from `project_root/sprites`
    config.sprite_load_path = 
      config.sprite_load_path
      .to_a
      .push(File.join root, 'sprites')
end 
# style.css.scss

@import "..sprites/companies/*.png";
@include all-companies-sprites;
于 2015-12-06T10:20:07.403 回答