使用Assetic在Symfony中包含CSS和JS文件

时间:2015-03-09 10:44:15

标签: html symfony twig assetic

我正在寻找使用Assetic和Symfony包含.css ans .js文件。 问题是浏览器无法加载这些文件。

{% block stylesheets %}
      {% stylesheets '@MUSCoreBundle/Resources/public/css/*' filter='cssrewrite' %} 
      <link rel="stylesheet" href="{{ asset_url }}"/>
  {% endstylesheets %}
{% endblock %}


{% block javascripts %}
  {% javascripts '@MUSCoreBundle/Resources/public/js/*' %}
      <script type="text/javascript" src="{{ asset_url }}"></script>
  {% endjavascripts %}
{% endblock %}

sources

Browser console

我为我的文件写了好路径。

我做错了什么?

解决方案:您必须在CSS文件夹中创建.css和.js文件。如果您从其他位置复制并粘贴了这些文件,服务器似乎无法访问这些文件。

1 个答案:

答案 0 :(得分:2)

如果有一个css文件夹,我想加载该文件夹中的所有文件,那么我使用此方法

{% block stylesheets %}
    {% stylesheets 'bundles/yourbundle/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}"/>
    {% endstylesheets %}
{% endblock %}

您还可以加载特定文件,例如

{% block javascripts %}
    {% javascripts
    '@yourBundle/Resources/public/js/jquery.min.js'
    '@yourBundle/Resources/public/js/flat-ui.js'
    '@yourBundle/Resources/public/js/application.js'
     %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

重要

请记住在更改资产中的内容或添加新资产时运行以下命令

php app/console assets:install
php app/console assetic:dump --env=prod --no-debug 

您可以在symfony资产documentation

中详细了解这些内容