Symfony 2:从非捆绑包部署资产

时间:2014-03-17 17:03:22

标签: symfony assetic

我想知道是否有可能从自定义文件夹部署资源。

我已经将我的业务逻辑和实体与捆绑包分开了,现在我希望我的自定义js库有一个集中的位置。

是否有任何配置可供symfony或assetic部署不属于捆绑包的自定义文件夹? TIA

1 个答案:

答案 0 :(得分:0)

好吧,我找到了一个无意义的答案。

在github上查看一个repo我看到Assetic可以配置为接收一些输入资源并生成这样的唯一输出:

assetic:
    debug:  %kernel.debug%
    use_controller: true
    filters:
        cssrewrite: ~
        yui_css:
            jar: %kernel.root_dir%/../vendor/nervo/yuicompressor/yuicompressor.jar
        yui_js:
            jar: %kernel.root_dir%/../vendor/nervo/yuicompressor/yuicompressor.jar
        less:
            node: /usr/bin/node
            node_paths: [/usr/local/bin/]
            apply_to: "\.less$"
    assets:
        scripts:
            inputs:
                - %kernel.root_dir%/../src/MyResources/script.js
                - @FoundationViewBundle/Resources/public/js/*
            filters:
                - cssrewrite
                - yui_js
            output: js/scripts.min.js
            debug: %kernel.debug%
        stylesheets:
            inputs:
                - %kernel.root_dir%/../src/MyResources/stylesheet.css
                - @FoundationViewBundle/Resources/public/css/*
            filters:
                - less
                - yui_css
            output: css/style.min.css
            debug: %kernel.debug%

可以直接使用:

<link href="{{ asset('css/style.min.css') }}" rel="stylesheet">

<script src="{{ asset('js/scripts.min.js') }}"></script>

或使用Assetic别名:

{% stylesheets '@stylesheets' %}
    <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}

{% javascripts '@scripts' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}