javascriptフレームワークをアプリケーションにバンドルする必要がありますか、それともパブリックCDNを使用する必要がありますか?

errm

約2、3年前なら、これに対する答えを次のように要約していました。

  • すべてのjsを1つのファイルにコンパイルし、縮小します。
  • すべてのcssを1つのファイルに準拠させ、縮小します。
  • 外部スクリプトを非同期でロードします。
  • キャッシュ制御ヘッダーを遠い未来に設定します。
  • 無効化のための指紋アセットURL。
  • 独自のCDNを使用してください。

現在、アプリケーションはjavascriptではるかに重いようです。そして、ブラウザがより多くの並列接続を開くことができるという証拠を見てきました。

静的アセットを含める場合のWebパフォーマンスの現在のベストプラクティスは何ですか。

角度、バックボーン、残り火などのフレームワークを使用する場合、フレームワークをアプリケーションにバンドルするか、パブリックcdn(googles https://developers.google.com/speed/libraries/など)を使用してアプリケーションコードをバンドルする必要がありますか?

DoctorMick

答えは...状況によります。それはあまり役に立たないので、拡張していきます。

  • 内部(イントラネット)アプリケーションを作成している場合は、フレームワークをアプリにバンドルする方が適切で効率的です。その場合、ユーザーはローカルネットワークからファイルをプルするだけで済みます。同じフレームワークを使用する複数の内部アプリがある場合は、内部CDNが適切なオプションです。
  • ユーザーが同じフレームワークを使用する他のアプリにアクセスする可能性が低い場合は、CDNのメリットは得られませんが(サーバーとは別の場所にいる場合を除く)、実際のデメリットもありません。
  • ライブラリの最新バージョンに自動更新する場合(100回のうち99回はお勧めできません)、CDNを使用して現在のバージョンを自動的に提供できます。
  • CDNを使用して帯域幅に懸念がある場合は、ユーザーが他の誰かからファイルをダウンロードするため、これを軽減できます。
  • アプリケーションのjsが頻繁に変更される場合、すべてのjsをバンドルすると、すべてのフレームワークライブラリの再ダウンロードが強制されます。明らかに、ライブラリを個別にバンドルするなど、これを回避する簡単な方法があります。

外部アプリの場合、CDNを使用するのが正しい選択だと思います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    CSSのみを使用して三角形のアニメーションを作成する方法

  3. 3

    ZScalerと証明書の問題により、Dockerを使用できません

  4. 4

    ドロップダウンリストで選択したアイテムのQComboBoxスタイル

  5. 5

    別のホストからTomcat Managerアプリにアクセスする

  6. 6

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  7. 7

    Windows 10でのUSB入力デバイスの挿入/取り外しの検出

  8. 8

    Python / SciPyのピーク検出アルゴリズム

  9. 9

    MLでのデータ前処理の背後にある直感

  10. 10

    useRefに反応してコンポーネントをスクロールして表示する

  11. 11

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  12. 12

    パンダは異なる名前の列に追加します

  13. 13

    PictureBoxで画像のブレンドを無効にする

  14. 14

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  15. 15

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  16. 16

    LinuxでPySide2(Qt for Python)をインストールするQt Designerはどこにありますか?

  17. 17

    Material-UIでTextFieldエラーの色を条件付きでオーバーライドする方法

  18. 18

    goormIDEは、ターミナルがロードするデフォルトプロジェクトを変更します

  19. 19

    MatplotlibまたはSeabornを使用して、グループ化されたデータから複数のプロットを生成するにはどうすればよいですか?

  20. 20

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  21. 21

    Flutterにファイルピッカープラグインを追加するにはどうすればよいですか?

ホットタグ

アーカイブ