5

我一直在谷歌搜索这个问题的答案,但还没有找到我正在寻找的东西。

我已经使用 CodeIgniter 几年了,我正沉浸在 Symfony 框架的水中。到目前为止,我喜欢“捆绑”方法,除了我在如何处理资产方面遇到一些问题,特别是 css 文件。

我习惯于使用 Compass 框架,通常会使用编译成一个主样式表的部分来设置目录结构。但是,因为我的 Symfony 项目被拆分成多个包,所以我希望(并且可能应该)将每个包的 css 保留在包中,并且在主“web”目录中只有全局模板类的东西。我的问题是这个...

如果我在我的“web”目录中有一个 compass 项目设置,我如何才能包含来自我的各个包的部分?

我曾想过为我创建的每个捆绑包都有单独的指南针项目,但我如何将它们全部组合成一个压缩文件?那是我应该使用 Assetic 的东西吗?坦率地说,这是组织过度杀伤力吗?

其他发现自己处于类似情况的人的任何建议将不胜感激!

4

2 回答 2

6

这看起来像是 Assetic 及其 Sass 过滤器的工作。

您可以在主模板目录中列出所有 sass 文件,assetic 将为您进行压缩。

看起来像这样(取自下面的链接):

{% stylesheets filters="compass"
    "@AlomMainBundle/Resources/assets/css/main.sass"
    "@AlomMainBundle/Resources/assets/css/header.sass"
    "@AlomMainBundle/Resources/assets/css/footer.sass"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

我在网上找到了一个很好的解释:http: //alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

于 2012-07-04T07:54:22.250 回答
0

我最终在主 app/Resources 文件夹中为我的指南针项目创建了一个目录结构。如果需要,我已经能够创建“特定于捆绑包”的目录,然后使用 Compass 将整个文件编译为一个主 css 文件(也存储在 app/Resources/public 中。然后我使用 Assetic 来“发布” (或不管它做什么)使用将样式表包含到我的基本树枝模板中的常规方法将该文件放入我的 Web 根目录中。

于 2012-08-04T18:10:09.437 回答