遅延ロードは遅延ロードとも呼ばれ、必要なときにロードし、必要に応じてロードすることを意味します。この記事では、主に Vue コードのセグメント化と遅延読み込みの実装方法をサンプル コードを通じて詳しく紹介します。これは、学習や仕事に必要な学習者にとって有益です。一緒に勉強しましょう。皆さんのお役に立てれば幸いです。
遅延読み込みが必要な理由
シングルページのアプリケーションでは、アプリケーションの遅延読み込みがないと、webpack でパッケージ化されたファイルが異常に大きくなり、その結果、ホームページに入るときに読み込まれるコンテンツが多すぎます。遅延が長すぎると機能しません。また、遅延読み込みを使用すると、必要に応じてページを分割して、ホームページの読み込み圧力を効果的に分散でき、読み込み時間を短縮できます。ホームページ
Webpack と連携してコンポーネントの遅延読み込みを実装する方法
1. Webpack 設定ファイルの出力パスに chunkFilename 属性を設定します
output: { path: resolve(__dirname, 'dist'), filename: options.dev ? '[name].js' : '[name].js?[chunkhash]', chunkFilename: 'chunk[id].js?[chunkhash]', publicPath: options.dev ? '/assets/' : publicPath },
chunkFilename パスはコンポーネントの遅延読み込みのパスとして使用されます
2. webpack がサポートする非同期読み込みメソッドと連携します
resolve => require([URL],solve )、優れたサポート
() =>
() => import(URL) は、使用を推奨しており、es7 のカテゴリに属しており、babel の syntax-dynamic で使用する必要があると記載されています。 -importプラグインの具体的な使用方法は以下の通りです
npm install --save-dev babel-core babel-loader babel-plugin-syntax-dynamic-import babel-preset-es2015
use: [{ loader: 'babel-loader', options: { presets: [['es2015', {modules: false}]], plugins: ['syntax-dynamic-import'] } }]
はじめに
webpack>2の時代では、require.ensureが必要で、コード分割がしやすくなりました。必須ではありません。
インポートがすべてを解決します。 Splitレベルレベルコードの分割とレイジーロードには、次のレベルが含まれます。1。コンポーネントレベルの分割とレイジーローディング
2.ルータールーティングレベル
3. Vuexモジュール
//全局组件 Vue.component('AsyncComponent', () => import('./AsyncComponent')) //局部注册组件 new Vue({ // ... components: { 'AsyncComponent': () => import('./AsyncComponent') } }) // 如果不是default导出的模块 new Vue({ // ... components: { 'AsyncComponent': () => import('./AsyncComponent').then({ AsyncComponent }) => AsyncComponent } })
const AsyncComponent= () => import('./AsyncComponent') new VueRouter({ routes: [ { path: '/test', component: AsyncComponent} ] })
const store = new Vuex.Store() import('./store/test').then(testModule => { store.registerModule('test', testModule) })
概要
も追加されています。一般的なプロジェクトでは、ルーターとコンポーネント レベル (またはルーター分割を使用するだけ) で十分です。大規模なプロジェクトでは 3 つすべてを使用する場合がありますが、使用方法は非常に簡単です。
関連する推奨事項:
Jsを使用した遅延読み込みとクロスドメイン実装の手順
以上がVue コード分割と遅延読み込みについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。