4

配置:

assetic:
    debug:          %kernel.debug%
    use_controller: false
    read_from:      %kernel.root_dir%/../public
    filters:
        less:
            node: /usr/bin/node
            node_paths: [/usr/local/lib/node_modules]

树枝模板:

{% block stylesheets %}
{% stylesheets filter='less'
    '@MyBundle/Resources/public/bootstrap/less/bootstrap.less'
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}

这几乎可以正常工作。

我有一个问题,没有图像,它们被引用为相对 url("../img/glyphicons-halflings.png") 但它们不存在。

还有一个问题,这适用于node.js,但是如果我在生产服务器上没有node.js,如果我只上传编译好的css,它会起作用吗?

4

1 回答 1

4

我认为您也应该使用 cssrewrite 过滤器,如下所示:

{% block stylesheets %}
{% stylesheets filter='less,cssrewrite'
    '/bundles/mybundle/bootstrap/less/bootstrap.less'
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}

不要忘记使用以下命令发布您的资产:

app/console assets:install --symlink web

为了回答你的最后一个问题,是的,上传编译的 CSS 就可以了。

于 2012-05-27T18:20:31.933 回答