我在Symfony2中使用LESS和Assetic资产管理,而作为过滤器使用lessc。无论是.css:
filters:
cssrewrite: ~
less:
node: /usr/bin/node
node_paths: [/usr/lib/node_modules]
我正在使用Twitter Bootstrap构建一个应用程序,并且在每个.less文件中,我想使用Bootstrap vars / classes为应用程序的特定模块创建自己的自定义定义。
所以我有,例如:
{% stylesheets filter="cssrewrite, less" output="css/less_compiled.css"
'bundles/mopabootstrap/bootstrap/less/bootstrap.less'
'bundles/mybundle/less/module1.less'
'bundles/mybundle/less/module2.less'
%}<link href="{{ asset_url }}" rel="stylesheet">{% endstylesheets %}
现在,如果我想在module1.less和module2.less中使用Bootstrap的变量和类,我必须将@import [bootstrap_less_file]添加到每个模块文件中。它不是很有弹性,它导致我在每个文件中重复了引导程序定义。
我知道我可以创建一个.less“index”文件,它会导入所有需要的文件,然后编译它,但imho它不是弹性/ symfony2 / bundles方法,因为那时我松散的商品,这是资产给了我。
[编辑:] 我想知道是否有任何解决方案可以合并{%stylesheet%}部分中的所有文件,然后将其发送到较少的过滤器/编译器。
提前感谢您的帮助。
答案 0 :(得分:3)
LESS的最新版本允许您仅作为参考进行导入。所以这在使用bootstrap的较少文件中......
@import (reference) bootstrap.less;
...将使其可用作mixins等,但不会将代码编译为css(避免代码重复)。