9

由于特定的设置,我想将编译的样式表拆分为两个文件。这是因为可以解析 CSS 的 Java 应用程序需要 CSS 的(一部分),但它有点错误并且无法处理某些 css-(hack)-syntax。因为我无法修改这个 Java 应用程序,所以我只想向它提供它需要的 CSS,并且我可以确保它是正确的。

因此,通常资产管道只会生成一个“/assets/application-[..].css”文件。它还可以根据我所做的文件选择生成“/assets/custom-[..].css”。这仍然可以预编译。

有没有办法做到这一点?虽然我知道这不是理想的设置..

4

1 回答 1

14

要告诉 rails 您希望预编译的其他文件,您可以将它们添加到config.assets.precompile设置中。

config.assets.precompile += ["other_application.css"]

您只能application.css在 HTML 中看到,因为这是您包含的唯一文件

<%= stylesheet_link_tag "application" %>

如果您custom.css.scssapps/assets/stylesheets目录中有一些,它将像application.css.

例如,我可能有

- _common.css.scss
- application.css.erb.scss
- other_application.css.erb.scss

app/assets/stylesheets. 在非部分文件的顶部,我将放置

@import "common";

包括_common.css.scss. 我现在可以在布局中相互独立地引用任一样式表。

<%= stylesheet_link_tag "application" %>
# or
<%= stylesheet_link_tag "other_application" %>
于 2012-07-11T15:05:26.747 回答