我们使用 Compass 来 Sprite 图像(将许多图像组合成一个文件)。如果我为 images/common/ 目录创建 Sprite,Compass 会创建一个名为 common-sff832da50b.png 的文件。Compass 每次重新生成 Sprite 时都会生成一个新的后缀。如果我将这些 Sprite 图像留在 app/assets/images 中,我将在 public/assets 中同时看到 common-sff832da50b.png 和 common-sff832da50b-4a575c6c5d24895370db5ee7e7648d3a.png。由于 Compass 管理这个文件,我认为没有理由让 Asset Pipeline 也“管理”它。我可以通过配置 Compass 将这些精灵直接编译到公共/资产中来绕过资产管道。这有缺点吗?
我也应该确保编译成 Sprite 的“源”图像不应该存储在 app/assets/images 中,因为 Asset Pipeline 也会“管理”它们。请记住,不使用这些“源”图像。该应用程序在开发和生产中使用 Sprites。据我所知,资产管道没有理由将原件和原件的“摘要”复制到公共/资产。我们只在 Sprite 中使用它。这听起来合理吗?有缺点吗?
假设:Rails 3.2.*
谢谢!