资产转储文件位于错误的地方

时间:2015-10-23 14:56:05

标签: symfony assets assetic

我正在尝试清理我在symfony 2应用程序中管理资产的方式,并且我增强了奇怪的问题。

我尝试使用此处所述的“命名资源”:Symfony Cookbook。 我发现在更改资产时更改配置文件比进入模板文件更简单。

所以我的yaml配置为assetic

assetic:
    debug:          "%kernel.debug%"
    use_controller: "%kernel.debug%"
    filters:
        cssrewrite:
            apply_to: '\.css$|\.less$'
        lessphp:
            file:     '%kernel.root_dir%/../vendor/oyejorge/less.php/lessc.inc.php'
            apply_to: '\.less$'
        cssmin:
            file:     '%kernel.root_dir%/../vendor/natxet/CssMin/src/CssMin.php'
            apply_to: '\.css$|\.less$'
        jsmin:
            file:     '%kernel.root_dir%/../vendor/werkint/jsmin/JsMin/Minify.php'
            apply_to: '\.js$|\.twigjs$'

# ...

    font_awesome_css:
        inputs: '%kernel.root_dir%/../vendor/fortawesome/font-awesome/less/font-awesome.less'
        output: 'dist/css/font-awesome.min.css'

在我的模板中,我指的是FontAwesome(我使用FontAwesome作为示例,问题发生在我的其他css& javascript从yaml文件编译):

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

当我运行php app/console assetic:dump --env=prod时,文件web/dist/css/font-awesome.min.css已正确编译和创建,但我也创建了web/css/f3c79b8.css

这是第二个使用的文件,似乎没有应用过滤器。

如果我在yaml文件中显式添加过滤器:

font_awesome_css:
     inputs: '%kernel.root_dir%/../vendor/fortawesome/font-awesome/less/font-awesome.less'
     output: 'dist/css/font-awesome.min.css'
     filters:
          - lessphp
          - cssmin
          - cssrewrite

它似乎生成了一个正确的文件(已编译的文件少)但是,由于我的字体属于dist文件夹,因此css无法加载它。

那么,如何让我的模板使用正确生成的文件dist/css/font-awesome.min.css并避免将文件创建到web/cssweb/js

我认为我对这个功能有些误解。

感谢您的帮助。

0 个答案:

没有答案
相关问题