1

我尝试将 JS 文件导入到我的 html.twig 文件中。但它不起作用。你能给我一些建议吗?

这是我的布局文件

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
{%block stylesheets %}

  <link rel="stylesheet" href="{{ asset('bundles/ensjobologic/css/bootstrap.css') }}" type="text/css" media="all" />
  <link rel="stylesheet" href="{{ asset('bundles/ensjobologic/css/layout.css') }}" type="text/css" media="all" />

  <link href="asset('bundles/ensjobologic/css/bootstrap-responsive.css" rel="stylesheet">

  <link rel="stylesheet" href="{{ asset('bundles/ensjobologic/css/flat-ui.css') }}" type="text/css" media="all" />

  {% endblock %}
  {% block javascripts %}
  {% endblock %}
</head>

这是子文件:

{% block javascripts %}
    {{ parent() }}
    {% javascripts 'js/jquery.tagsinput.js' %}
      <script src="{{ asset_url }}" type="text/javascript"></script>
    {% endjavascripts %}
{% endblock %}

CSS运行良好。但是js文件没有任何作用。

4

1 回答 1

3

asset()不是资产。您不必在 javascripts 宏中指定资产。了解如何使用资产和包括 javascripts

{% block javascripts %} 
    {{ parent() }}  
    {% javascripts '@EnsUserBundle/Resources/public/js/jquery.tagsinput.js'%}
         <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

注意asset_url变量。

编辑:对于开发人员,资产由控制器交付(默认设置),因此可以检测到每个更改。只有在添加新文件后才需要清除缓存。

对于 prod,您需要将它们转储到 Web 路径下的物理文件中

php app/console assetic:dump --env=prod --no-debug
于 2013-06-10T16:14:08.427 回答