通常の読み込み見やすくするために、index.jsのコードは非常にシンプルです console.log('index.js が実行されました') './test.js' から { test } をインポートします。 document.getElementById('btn-wrap').onclick = 関数 () { テスト() } console.log('test.js が実行されました') エクスポート関数test() { 定数値 = 'hello world' console.log('テスト値: ', 値) } index.htmlにボタンを追加する <button id='btn-wrap'>クリック</button> webpack コマンドを実行します。 ボタンがクリックされていないときに test.js が読み込まれていることがわかります。 test.js が大きい場合、それをロードするとパフォーマンスが低下します。必要なときにロードできるようにしたいと考えています。 遅延読み込みindex.jsのコードを修正する console.log('index.js が実行されました') // './test.js' から { test } をインポートします // document.getElementById('btn-wrap').onclick = function () { //テスト() // } document.getElementById('btn-wrap').onclick = 関数 () { console.log('==== ボタンをクリックしてください') インポート(/*webpackChunkName:'test' */"./test") .then(({テスト}) => { console.log('テストが正常にロードされました') テスト() }) .catch(エラー => { console.log('テストの読み込みに失敗しましたエラー:', error) }) } webpackコマンドを再度実行し、ブラウザでログを表示します。 ボタンをクリックする前にindex.jsのみが読み込まれます ボタンをクリックして下さい: ボタンをクリックするとtest.jsが実行されていることがわかります。 プリロード遅延読み込みは、js ファイルのオンデマンド読み込みを実装します。つまり、必要なときにのみ js ファイルが読み込まれます。ただし、js ファイルが非常に大きく読み込みが遅い場合は、使用中に読み込むとページがフリーズします。この問題を最適化するには、最初にプリフェッチを使用してプリロードすることができます。 プリロードを使用しないボタンがクリックされるまで test.js ファイルは読み込まれません test.jsファイルはボタンをクリックした後にのみ読み込まれます プリロードの使用プリロードを使用するには document.getElementById('btn-wrap').onclick = 関数 () { console.log('==== ボタンをクリックしてください') インポート(/*webpackChunkName:'test'、webpackPrefetch:true*/"./test") .then(({テスト}) => { console.log('テストが正常にロードされました') テスト() }) .catch(エラー => { console.log('テストの読み込みに失敗しましたエラー:', error) }) } ボタンをクリックする前に、test.js ファイルがプリロードされます。 ボタンをクリックして下さい: 要約する通常の読み込み: 多くのリソースが並行して読み込まれ、複数のファイルが同時に読み込まれます 遅延読み込み: 必要なときだけ読み込む プリロード: 他のリソースがロードされ、ブラウザがアイドル状態になるまで待機し、プリロードするように設定されたリソースを秘密裏にロードします。 この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: ウェブデザインの発展と西洋建築の類似点は何でしょうか?
>>: Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス
目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する ...
障害に遭遇すると、障害の根本的な原因を考えるのではなく、障害を解決する方法を考えることがよくあります...
Vue3プロジェクトのカプセル化サイドナビゲーションテキストスケルトン効果コンポーネント-グローバル...
Web デザインと開発は大変な作業なので、少数の人だけを対象に設計しないでください。これは外国人が...
この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...
スクロール バーのスタイルを設定するための CSS 実装コードは次のとおりです。 •::-webki...
1 はじめに「DockerでPostgreSQLを起動する方法といくつかの接続ツールのおすすめ」の記...
MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...
1. ubuntu16.04 イメージと対応する ubuntu16.04 カーネル バージョンのソー...
テーブル名とフィールド–1. 学生リスト学生 (s_id、s_name、s_birth、s_sex)...
Docker バージョン 1.13.1問題プロセス特定の環境のMySQLコンテナを停止、強制終了、ま...
各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...
序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...
前提条件: content="width=750" <meta name=...
モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...