Requirejsを使用するタイミングと、バンドルされているjavascriptを使用するタイミングは?
質問
これは、ウェブ担当者にとって馬鹿げた質問かもしれません。しかし、私はこのことで少し混乱しています。今、私はいくつかのJavascriptファイルを使用して異なるタスクを実行するアプリケーションを持っています。現在、私はJavascriptを使用しています バンドル を使って、すべてのファイルを結合し、最小化します。そのため、実行時には app.min.js というファイルがひとつだけ存在することになります。では Requirejs は、実行時にモジュールやファイルをロードするために使用されます。そこで質問ですが、もし私がすでにすべてのものを一つのファイルにまとめているのであれば、requirejs は必要ですか?あるいは、requirejsやbundlerを使用できるユースケースシナリオとは何でしょうか?
さらに詳細が必要であれば教えてください。
どのように解決するのですか?
これは、多くの熟練した javascript 開発者の間で熱く議論されている問題です。他の多くの言語では、プログラム全体がデプロイ用にバンドルされるコンパイル段階があります (JBoss の .WAR ファイルが思い浮かびます)。より伝統的な背景から来たプログラマーは、しばしばこのアプローチを好みます。
しかし、Javascript のより機能的な性質を評価する人々は、しばしば (require.js が使用するような) モジュール ローディング アプローチを好みます。
私が書いた フレーム.js を書きましたが、これは require.js のように動作するので、私のバイアスはモジュールローダーのアプローチにあります。
あなたの質問に直接答えるなら、はい、それはどちらか一方です。
スクリプトを単一のファイルにパックすることを主張するほとんどの人は、それがより多くの圧縮を可能にし、したがって、より効率的であると信じています。(1) モジュールのロード時間はセッション全体に分散される、(2) 個々のモジュールはほぼ同じ割合で圧縮できる、(3) 個々のモジュールはサーバーとルーターで別々にキャッシュできる、(4) 必要なときにだけスクリプトをロードすると、最終的に一部のユーザーにはより少ないコードをロードし全体としてはより多くのコードをロードできる、などの理由から、パッケージ化の効率性のメリットはほとんどのケースで無視できると私は思っています。
長い目で見て、動的なスクリプトの読み込みに利点があることがわかれば、それを使用します。そうでない場合は、スクリプトを 1 つのファイルにバンドルしてください。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] jQueryの$という記号の意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?