Assetic无法找到文件

Nik*_*kos 13 symfony assetic

我想在一个twig模板中链接一个css文件(它存在于一个包中):

{% stylesheets 
    '@AcmeFooBundle/Resources/public/css/bootstrap.min.css' 
%}
    <link href="{{ asset_url }}" rel="stylesheet"/>
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)

我得到的第一条错误消息是:

您必须将AcmeFooBundle添加到assetic.bundle配置中...

这是配置:

# Assetic Configuration
assetic:
    debug:          %kernel.debug%
    use_controller: false
    bundles:        []
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        #closure:
        #    jar: %kernel.root_dir%/Resources/java/compiler.jar
        #yui_css:
        #    jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
Run Code Online (Sandbox Code Playgroud)

然后我尝试在bundle指令中添加AcmeFooBundle,但后来我收到一个错误:

无法找到文件....

我无法理解我在这里做错了什么......

在控制台中转储资产配置的默认配置(使用php app/console config:dump-reference assetic)我可以看到在bundle指令中列出的AcmeFooBundle包...

Eln*_*mov 28

除非您需要为Assetic将某些捆绑包列入白名单,否则只需bundles从配置中删除该选项即可.

  • 将AcmeFooBundle添加到配置:bundle:[AcmeFooBundle](但不要问我为什么) (3认同)

das*_*cht 14

以下适用于我:

  1. 创建包例如:

    php app/console generate:bundle --namespace=Acme/Bundle/BlogBundle --no-interaction
    
    Run Code Online (Sandbox Code Playgroud)

    请参阅:生成新的Bundle Skeleton

  2. 添加Assetic导入如下:

    {% javascripts '@AcmeBlogBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将Bundle添加到资产配置:

    # Assetic Configuration
    assetic:
        ...
        bundles:        ['AcmeBlogBundle']
        ...
    
    Run Code Online (Sandbox Code Playgroud)