0

RequireJS 2+のシムを介してjquery、jqueryUI、アンダースコアとバックボーン、および非AMD jqueryプラグインをロードしてから、特定のビューのJSを動的にロードしたいと考えています。

したがって、すべてを1つの大きなJSファイルとして結合する代わりに、...

  • 1つの大きなJSとして何かを選択的に組み合わせる
  • 別の大きなJSとしての何か(別の複雑なビュー用)、および
  • 他の何かを結合せずに残しました(certiainウィジェット用)(おそらく圧縮のみ)?

これは可能ですか?psアーモンドの使用をいつ検討しますか?

ありがとうございました。

4

2 に答える 2

1

プロジェクトを最適化するときにビルドファイルを使用する場合は、処理する必要のあるモジュールを正確に指定できます。

modulesビルドファイルのセクションから始めるのが最適です。

于 2012-06-07T08:24:35.903 に答える
0

簡単な答え:はい。

より長いです:

基本的に、必要なものを任意の方法で含めることができます。直面する可能性のある唯一の問題は、AMDがロードしたライブラリのスコープがdefine'handler'関数内でローカルであるということです。少なくとも私が知る限りでは。

だから私はそれがそうだと思います:

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にテストコードを書くことはできます。

于 2012-06-07T04:59:26.810 に答える