あなたのバンドルサイズを最小にして、チャンクファイルとハッシュします
5298 ワード
最後の投稿から、我々は我々のアプリで大きなライブラリを追加するときにバンドルのサイズを減らすためにCDNを使用してください!
今日、我々はいくつかの少しのヒントで我々のプロジェクトを最適化し続けます!
最小化
The
これが何
それはあなたのコードを圧縮し、1行で圧縮されます!
prodモードでは、我々はこれを使用したい!devモードとは異なり、次のアカデミーでこの部分を参照してください😉)
使用する前に、バンドルソースコード(サイズ:7 KB)👇
すべての人間は、このコードを読むことができます!
でも使うなら
そして、我々は3 KBを得ました!
チャンクファイル
コンテキスト:あなたのWebアプリを2つの大きな部分に分割されて想像してください
最初の部分は製品のリストです、そして、他は3 Dで買われる我々の製品を示すページです.
いくつかの訪問者はすべての製品を購入しませんが、3 Dモデルのすべては、アプリケーションが1つだけバンドルに読み込まれます.
ユーザーが我々の製品を選ぶとき、我々は3 D部分だけをロードするべきです!
これを作るためには、我々のアプリケーションに分割する必要があります
チャンクファイルは、必要なときだけ読み込まれるファイルです.
これを行うには、特別なインポートを使用する必要があります!
簡単な例を挙げましょう
ときに我々は起動時にチャンクバンドルをロードしなかったHTMLをロードする!
でもボタンをクリックすれば🔥
はい、チャンクファイルが読み込まれ、JSONオブジェクトを取得します!
非常に興味深い、我々は我々のアプリケーションを分割!あなたのアプリのいくつかの大きな部分を持っているとき、それをチャンクすることを躊躇しないでください!
それは
ハッシュファイル
我々のアプリを最適化する最後のヒント!キープ・フォーカス💪
チャンクファイルを使用する場合は、アプリケーションの10の部分を持つことができますし、アプリケーションを最初に展開すると、ユーザーはアプリケーションを読み込み、すべてのチャンクをキャッシュに保持します.
新しいバージョンをリリースする場合は、チャンクファイルを1つだけ変更すると、新しいバージョンを展開します.
この動作を
設定ファイル👇
しかし、目的は何ですか?🤔
つのハッシュチャンクファイルを変更すると、新しいバージョンをリリースします
私はこの記事が好きで、次の記事でWebpackでのdev環境の設定方法をチェックします.
You can check the source code at this commit
閉じるこの動画はお気に入りから削除されています.
🎁 私の新しい本を手に入れる
またはそれを得るHERE
🎁 MY NEWSLETTER
☕️ あなたはSUPPORT MY WORKS 🙏
🏃♂️ あなたは私に従うことができます👇
🕊 Twitter
👨💻 ギタブhttps://github.com/Code-Oz
そして、あなたは🔖 この記事!
今日、我々はいくつかの少しのヒントで我々のプロジェクトを最適化し続けます!
最小化
The
minimize
オプションは私たちのコード、変数の名前、コード間のスペースを実行するマシンのために理解しやすいです、我々は1行ですべてのコードを圧縮し、変数名を短くし、マシンはそれを実行することができます!これが何
minimize
です!それはあなたのコードを圧縮し、1行で圧縮されます!
prodモードでは、我々はこれを使用したい!devモードとは異なり、次のアカデミーでこの部分を参照してください😉)
使用する前に、バンドルソースコード(サイズ:7 KB)👇
すべての人間は、このコードを読むことができます!
でも使うなら
minimize
👇そして、我々は3 KBを得ました!
チャンクファイル
コンテキスト:あなたのWebアプリを2つの大きな部分に分割されて想像してください
最初の部分は製品のリストです、そして、他は3 Dで買われる我々の製品を示すページです.
いくつかの訪問者はすべての製品を購入しませんが、3 Dモデルのすべては、アプリケーションが1つだけバンドルに読み込まれます.
ユーザーが我々の製品を選ぶとき、我々は3 D部分だけをロードするべきです!
これを作るためには、我々のアプリケーションに分割する必要があります
chunk
ファイル!チャンクファイルは、必要なときだけ読み込まれるファイルです.
これを行うには、特別なインポートを使用する必要があります!
簡単な例を挙げましょう
big json file
ときにユーザーがボタンをクリック!const jsonObjectImport = async () => import(/* webpackChunkName: "myChunkName" */ "./big-object.json")
我々が我々がこの約束を消費することのおかげでJSON価値を得る必要があるように、輸入は現在約束です👇document.getElementById("button").addEventListener("click", function() {
jsonObjectImport().then(jsonObject => console.log(jsonObject.default))
})
ユーザーがボタンをクリックした場合のみJSONファイルがロードされます.したがって、このビルドを行うと、2つの束がありますbundle
とchunk bundle
名前myChunkName
!ときに我々は起動時にチャンクバンドルをロードしなかったHTMLをロードする!
でもボタンをクリックすれば🔥
はい、チャンクファイルが読み込まれ、JSONオブジェクトを取得します!
非常に興味深い、我々は我々のアプリケーションを分割!あなたのアプリのいくつかの大きな部分を持っているとき、それをチャンクすることを躊躇しないでください!
それは
lazy loading
, それは大きなイメージギャラリーのような、我々はユーザーが見ることができるイメージだけをロードするので、スクロールすることはできませんので、なぜすべての画像をロード!ハッシュファイル
我々のアプリを最適化する最後のヒント!キープ・フォーカス💪
チャンクファイルを使用する場合は、アプリケーションの10の部分を持つことができますし、アプリケーションを最初に展開すると、ユーザーはアプリケーションを読み込み、すべてのチャンクをキャッシュに保持します.
新しいバージョンをリリースする場合は、チャンクファイルを1つだけ変更すると、新しいバージョンを展開します.
この動作を
hash
ファイル.設定ファイル👇
filename: "[contenthash:8].js"
変更バンドル名[contenthash:8]
, それは私たちのバンドルとすべてのチャンクのための新しいハッシュ名を生成します!しかし、目的は何ですか?🤔
つのハッシュチャンクファイルを変更すると、新しいバージョンをリリースします
hash chunk file !
🎉私はこの記事が好きで、次の記事でWebpackでのdev環境の設定方法をチェックします.
You can check the source code at this commit
閉じるこの動画はお気に入りから削除されています.
🎁 私の新しい本を手に入れる
Underrated skills in javascript, make the difference
あなたが私とMP私に続くならば😁またはそれを得るHERE
🎁 MY NEWSLETTER
☕️ あなたはSUPPORT MY WORKS 🙏
🏃♂️ あなたは私に従うことができます👇
👨💻 ギタブhttps://github.com/Code-Oz
そして、あなたは🔖 この記事!
Reference
この問題について(あなたのバンドルサイズを最小にして、チャンクファイルとハッシュします), 我々は、より多くの情報をここで見つけました https://dev.to/codeoz/webpack-academy-5-optimise-your-bundle-size-with-minimize-chunk-file-hashed-1369テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol