レイジーローディングコンポーネント

単一ページのアプリケーションの世界では、過度のロード時間にコンテンツのリードをロードするプロジェクトの複雑さ、より多くのページへのWebPACKパック後のファイルは、ユーザーエクスペリエンスを助長されていません場合など。

遅延ロードとは何ですか?

また、必要なときにロードされている遅延ロード、として知られているレイジーローディング、。

通常のルートを設定する方法の1)を見てみましょう

輸入Vueの「VUE」から
インポートルータから「VUE-ルータの
からインポートホーム「ホームページ@ /ページ/ホーム/」
からのインポートの詳細「@ /ページ/詳細/ detailPage」
からのインポートコンテンツ「@ /ページ/コンテンツ/ contentPage」
以下からの輸入インデックス「@ /ページ/インデックス」

Vue.use(ルーター)

輸出デフォルトの 新しいルータ({
  モード:「歴史」
  ルート:[
    {
      パス: '/'から
      名前:「インデックス」
      コンポーネント:インデックス、
      子供達: [
        {
          パス:「ページ1」
          名前: 'TAB1' 
          コンポーネント:ホーム
        }、
        {
          パス:「ページ2」
          名前: 'TAB2' 
          コンポーネント:詳細
        }、
        {
          パス: 'PAGE3' 
          名前: 'TAB3' 
          コンポーネント:コンテンツ
        }
      ]
    }
  ]
})

スクリーンショットは、その結果を詰め:

スクリーンショットのページリクエスト(すべてがapp.js内部に詰め):

2)来る設定ページをルーティングする方法を遅延ロードを参照してください

  • ダイナミックのWebPACKでモジュールに導入インポート()を使用して使用
  • webpackChunkName:2.6.0後のWebPACK、インポートされた注釈モジュールを使用する動的な方法をサポートするために追加されますchunk name
「表示」からインポートビュー
のインポートルータから「オーダールーティング」

Vue.use(ルーター)

輸出デフォルトの 新しいルータ({
  モード:「歴史」
  ルート:[
    {
      パス: '/'から
      名前:「インデックス」
      成分:() =>インポート(/ * webpackChunkName 'インデックス' * / '../pages/index' )、
      子供達: [
        {
          パス:「ページ1」
          名前: 'TAB1' 
          成分:() =>インポート(/ * webpackChunkName: 'インデックス/ TAB1' * / '../pages/home/HomePage' 
        }、
        {
          パス:「ページ2」
          名前: 'TAB2' 
          成分:() =>インポート(/ * webpackChunkName: 'インデックス/ TAB2' * / '../pages/detail/detailPage' 
        }、
        {
          パス: 'PAGE3' 
          名前: 'TAB3' 
          成分:() =>インポート(/ * webpackChunkName: 'インデックス/ TAB3' * / '../pages/content/contentPage' 
        }
      ]
    }
  ]
})

スクリーンショットは、その結果を詰め:

スクリーンショットページの要求(これも既知の実際のchunk2、chunk3はまだ対応するページに切り替える必要があり、上記の構成に従ってオンデマンドでロードされ、ロードされていません)。

3)構成遅延ロードをルーティングすることに加えてページがルーティングされるページは、また、遅延ロードアセンブリを実現することができます

輸出のデフォルト{
  名前:「インデックス」
  成分:{
    headerTab:() =>インポート( '@ /コンポーネント/ヘッダ' 
  }
}

ページリクエストのスクリーンショット:

4)最後に、通常のプロジェクトがどのように選択します

  • 遅延ロードを使用してコンポーネントの完全なページを見つけるときに、ルーティングとルーティングページ:プロジェクトは、需要負荷の実現を最大化しますが、ページは、同時に複数のコンポーネントを埋め込む際にページの表示を引き起こす可能性があり、あまりにも多くのHTTP要求をもたらします遅すぎると不均一なレンダリングの問題。
  • 負荷需要を満たすために合理的な場合だけでなく、HTTP要求に対応する減少:遅延ロードページ、使用ルーティングページより頻繁に使用する遅延ロードコンポーネントをルーティング。しかし、チームの開発協力で、コンポーネントは、より良いメンテナンスを実現するために、やって部品部門の需要と非デマンドロードにロードする必要があります。

参考文献:

1)  https://www.cnblogs.com/zhanyishu/p/6587571.html  (vue2成分遅延ロード分析)

おすすめ

転載: www.cnblogs.com/Tiboo/p/12536739.html