我希望通過RequireJS 2 +的Shim加載jquery,jqueryUI,下劃線&骨幹和非AMD jquery插件,然後動態加載JS進行某些視圖。我可以優化一組JS(結合到一個),並仍然動態加載某些模塊w/requireJS?
所以不是一切結合爲1個大的JS文件,可我......
- 選擇性結合的東西作爲1大JS
- 別的東西作爲另一大JS(另一個複雜的視圖),和
- 剩下的東西未組合(對於certiain部件)(可能只是壓縮)?
這可能嗎?附:我應該何時考慮使用Almond?
謝謝。
我希望通過RequireJS 2 +的Shim加載jquery,jqueryUI,下劃線&骨幹和非AMD jquery插件,然後動態加載JS進行某些視圖。我可以優化一組JS(結合到一個),並仍然動態加載某些模塊w/requireJS?
所以不是一切結合爲1個大的JS文件,可我......
這可能嗎?附:我應該何時考慮使用Almond?
謝謝。
如果你use a build file優化你的項目,那麼你可以指定確切的模塊需要處理。
該modules
section of the build file將是最好的開始。
簡短回答:是的。
長:
您基本上可以包括任何你想要的任何方式通緝。您可能會遇到的唯一問題是AMD定義的庫的範圍在定義「處理程序」函數中是本地的。據我所知,至少。
所以我覺得這是像這樣:
define([somefile], function(something){ something == 'stuff from somefile.js'; });
somefile == undefined
你可以做的,雖然是:
<script etc..."backbone.js"</script>
define([somefile], function(something){
window.something == 'stuff from somefile.js';
Backone is defined.
});
window.somefile == 'stuff from somefile.js';
所以這是可能的,但你必須設置變量從內部定義代碼到全局代碼,例如window.etc。
我想你可以在高性能的情況下使用杏仁。至少根據他們的網站。你可以在jsperf.om上寫一些測試代碼。