3

r.js のようなものを使用してすべてのモジュールを 1 つの大きなファイルにバンドルすると、AMD アーキテクチャの非同期の側面がどこに存在するかを理解するのが少し難しくなります。

DOM をブロックすることなく、require.js がオンデマンドで個別の js を非同期にロードできるようにするだけでなく、r.js を使用する利点は何ですか? 確かに、アプリが必要とするすべてのもの (コンパイルされた r.js) をロードするよりも、アプリが現在必要としているもの (vanilla require.js) のみをロードする方が速くなければなりません。

4

2 に答える 2

2

AMD の 1 つのバンドルを作成することにした場合、AMD の単一の利点はありません。得られるのはボイラープレートと混合されたコードのパックだけなので、欠点だけです。

クリーンなソリューションを探している場合は、ボイラープレートなしで CommonJS スタイルを試してください。適切なツールを使用すると、AMD よりもはるかに高速です (非同期ディスク操作は非同期ネットワーク操作よりも高速であるため)。CommonJS を使用すると、コードは環境に依存しなくなります。モジュールをサーバー (Node.js) とクライアントにロードします。追加の構成やハッキングは必要ありません。

Webmakeをチェックしてください(私はそれの作者です)それで開発するのは数年です。振り返ったことはありません。

AMD -> CommonJS への移行の成功事例も確認してください: http://esa-matti.suuronen.org/blog/2013/03/22/journey-from-requirejs-to-browserify/

于 2013-04-13T09:51:25.877 に答える
0

私はあなたに私の会社の例をあげます。単一ページ モジュールの Web アプリがあります (アプリのすべてのタブは別のチームで開発されています)。すべてのチームは独自のコードを持ち、いくつかの共通部分を使用します。モジュールでは、require を使用して共通部分にアクセスするため、確実にアクセスできるようになっています (パスは bundlead スクリプトとサーバーで同じです)。これにより、内部にすべてが含まれていないモジュール用にバンドルされたファイルを作成する可能性が与えられます。

于 2013-04-13T05:33:51.357 に答える