我在Symfony 2上使用資產,並且我通過YUI壓縮了所有CSS和JS文件。 ALL工作完美,但在prod環境中,我有多個調用來加載每個壓縮文件。事實上,我認爲資產可以將所有CSS文件(和JS文件)合併爲一個獨特的文件(一個用於CSS,另一個用於JS),並且對於每個頁面,這是可能的嗎?在Symfony 2上使用Assetic在Symfony 2上合併文件只能調用一次所有CSS文件
我沒有找到有關它的文檔... 有一個想法嗎? 謝謝!
我在Symfony 2上使用資產,並且我通過YUI壓縮了所有CSS和JS文件。 ALL工作完美,但在prod環境中,我有多個調用來加載每個壓縮文件。事實上,我認爲資產可以將所有CSS文件(和JS文件)合併爲一個獨特的文件(一個用於CSS,另一個用於JS),並且對於每個頁面,這是可能的嗎?在Symfony 2上使用Assetic在Symfony 2上合併文件只能調用一次所有CSS文件
我沒有找到有關它的文檔... 有一個想法嗎? 謝謝!
像documentation中描述的那樣,您也可以將多個文件組合成一個文件。這有助於減少HTTP請求的數量,這對於前端性能非常有用。
你只需要使用這個語法:
{% javascripts
'@AcmeFooBundle/Resources/public/js/*'
'@AcmeBarBundle/Resources/public/js/form.js'
'@AcmeBarBundle/Resources/public/js/calendar.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
對於開發環境CSS文件合併成一個
php app/console cache:clear --env=dev --no-debug
要查看合併後的文件服務時,頁面被請求
// app_dev.php
$kernel = new AppKernel('dev', false);
// Setting the second parameter to false turns of debugging
確保您合併資產
{% javascripts
'@AcmeFooBundle/Resources/public/js/*'
'@AcmeBarBundle/Resources/public/js/form.js'
'@AcmeBarBundle/Resources/public/js/calendar.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
同樣遵循生產環境
其實我這樣做,但我忘了「的umask(0000)」在我的app.php文件,並只爲督促環境清理緩存,讓我不得不多次調用: s現在,它完美的PHP應用程序/控制檯資產後:dump --env = prod和php應用程序/控制檯緩存:清除--env = prod --no-debug,謝謝! – Sybio