![](/img/trans.png)
[英]How to include properly Javascript files into twig template Symfony3.4
[英]How to include JavaScript files into twig template using Symfony2
我可以輕松地將CSS文件包含到我的twig模板中,如下所示:
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('bundles/user/css/bootstrap.min.css') }}"/>
<link rel="stylesheet" href="{{ asset('bundles/user/css/bootstrap-theme.min.css') }}"/>
<link rel="stylesheet" href="{{ asset('bundles/user/css/main.css') }}"/>
{% endblock %}
但對於我的JavaScript文件
{% block javascripts %}
<script src="{{ asset('bundles/user/js/jquery-1.11.3.min.js') }}"></script>
<script src="{{ asset('bundles/user/js/bootstrap.min.js') }}"></script>
{% endblock %}
這種方法不起作用。 我也試圖使用assetics
,但這也不起作用。
我推薦了Assetic方法。 這不是很簡單,但它給你帶來了巨大的好處。
首先,將JS嵌入到這樣的模板中:
{% block my_javascripts %}
{% javascripts
'@FooBarBundle/Resources/public/js/foo.js'
'@FooBarBundle/Resources/public/js/bar.js'
filter='?uglifyjs2'
%}
<script src="{{ asset_url }}" type="text/javascript"></script>
{% endjavascripts %}
{% endblock %}
添加任意數量的JS文件。
現在在命令行上運行以下命令:
app/console assetic:dump
在您的dev
環境中,這將在文檔根目錄中生成JS文件的副本。 在您的prod
,這將在doc根中生成一個組合文件 - 第一個好處。
要在編輯文件時在后台自動生成文件,請從命令行運行以下命令,並使其保持運行直至完成(然后使用Ctrl + C取消):
app/console assetic:watch --force
(該--force
選項使Assetic生成文件,即使它似乎還有不被任何修改。)
另一個好處是filter='uglifyjs2'
語句:它使文件被UgilifyJS“壓縮”,加載速度更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.