這不是關於圖書館,而是關於自定義腳本。Symfony2在樹枝模板中組織javascript的最佳方式
我知道兩種解決方案:
- 需要編寫一個大文件的一切(很多功能或自定義庫)
- 寫劇本的作品在樹枝模板
兩種解決方案都沒有很喜歡。在第一種情況下,我們必須在每次更新後複製資產。在第二種情況下,進行更改並且難以重用代碼並不容易。
也許你知道任何其他解決方案嗎?
這不是關於圖書館,而是關於自定義腳本。Symfony2在樹枝模板中組織javascript的最佳方式
我知道兩種解決方案:
兩種解決方案都沒有很喜歡。在第一種情況下,我們必須在每次更新後複製資產。在第二種情況下,進行更改並且難以重用代碼並不容易。
也許你知道任何其他解決方案嗎?
通常我安排我的JavaScript在不同的文件,我試圖形成我解決使用排序構造對我的課的例子在咆哮,樹枝命名空間和類,用實例化的問題,和值:
{%block javascripts}
{{ parent() }}
<script type='text/javascript' src={{ asset('path/to/my/SpecificClass.js')}}
SpecificClass.attribute1 = {{ value_from_twig }}
SpecificClass.attribute2 = {{ other_value_from_twig }}
{%endblock}
我覺得這種方式更清潔,但如果你想從樹枝話,我想你應該考慮的API架構,採用AngularJs
完全分離的js代碼,BackboneJs
謝謝。這是很好的解決方案。 –
你在你的問題中提到,你必須複製如果您只有一個大文件,每次更改後都會有資產。這未必是真實的,你可以使用assetic動態加載該文件在督促環境是這樣的:
{% javascripts
'@dsarhoyaDemoBundle/Resources/public/js/demo.js'
output='compiled/main.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
爲了督促環境只需要運行:assetic:轉儲--env =督促
不要知道這是否能以任何方式提升平衡。根據我的經驗,最好將兩者結合使用:大型通用文件和特定腳本。
對我來說,最好是從HTML(樹枝)單獨的JavaScript。你可以做的是讓多個.js文件更好地組織(例如對於多個.js) –
多個.js文件是對服務器的多個請求。你使用壓縮機(YUI壓縮機)嗎? –
您可以縮小/混淆javascript文件。你是對的,更多的文件是對服務器的更多請求,但只是在開始時,後來你有緩存中的js。 –