我尝试将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文件没有任何效果。
答案 0 :(得分:3)
asset()
不具有资产价值。您不必在javascripts宏中设置资产。见how to use assetic and inlcude javascripts
{% block javascripts %}
{{ parent() }}
{% javascripts '@EnsUserBundle/Resources/public/js/jquery.tagsinput.js'%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
注意asset_url
变量。
编辑:对于dev,资产由控制器(默认设置)传送,因此检测到每个更改。只有在添加新文件后才需要清除缓存。
对于prod,您需要使用
将它们转储到Web路径下的物理文件中php app/console assetic:dump --env=prod --no-debug