vue ルーティングの遅延ロードとコンポーネントの遅延ロード - 2 つの実装方法

1. ルートの遅延読み込みを使用する理由

顧客により良いカスタマー エクスペリエンスを提供するために、最初の画面コンポーネントの読み込みが速くなり、白い画面の問題が解決されます

遅延読み込みでは、ページを分割して必要なときにページを読み込むことができるため、ホームページへの読み込み圧力を効果的に共有し、ホームページの読み込み時間を短縮できます

2. 定義

遅延ロードは単に遅延ロードまたはオンデマンド ロード、つまり必要なときにロードすることです

3、使用する

一般的に使用される遅延読み込み方法には、vue 非同期コンポーネントを使用する方法と ES でインポートする方法の 2 つがあります。

1. 遅延ロードを使用しない場合、vue のルーティング コードは次のようになります。

        import Vue from 'vue'
                import Router from 'vue-router'
                import HelloWorld from '@/components/HelloWorld'
 
                Vue.use(Router)
 
                export default new Router({
                  routes: [
                    {
                      path: '/',
                      name: 'HelloWorld',
                      component:HelloWorld
                    }
                  ]
                })

2. Vue の非同期コンポーネントは遅延読み込みを実装します

メソッドは次のとおりです。component:solve=>(require(['ロードする必要があるルートのアドレス']),solve)

import Vue from 'vue'
import Router from 'vue-router'
  /* 此处省去之前导入的HelloWorld模块 */
Vue.use(Router)
 
export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: resolve=>(require(["@/components/HelloWorld"],resolve))
    }
  ]
})

3. ES が提案するインポート方法( ------最も一般的に使用される ------)

メソッドは次のとおりです: const HelloWorld = () =>import('ロードする必要があるモジュールのアドレス')

({ }なしは直接リターンを意味します)

import Vue from 'vue'
import Router from 'vue-router'
 
Vue.use(Router)
 
const HelloWorld = ()=>import("@/components/HelloWorld")
export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component:HelloWorld
    }
  ]
})

4.コンポーネントの遅延ロード

 ルートの遅延読み込みと同じですが、

1. オリジナルコンポーネントでの記述方法

<template>
  <div class="hello">
  <One-com></One-com>
  1111
  </div>
</template>
 
<script>
import One from './one'
export default {
  components:{
    "One-com":One
  },
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

2.constメソッド

<template>
  <div class="hello">
  <One-com></One-com>
  1111
  </div>
</template>
 
<script>
const One = ()=>import("./one");
export default {
  components:{
    "One-com":One
  },
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

3. 非同期メソッド

<template>
  <div class="hello">
  <One-com></One-com>
  1111
  </div>
</template>
 
<script>
export default {
  components:{
    "One-com":resolve=>require(['./one'],resolve)
  },
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

おすすめ

転載: blog.csdn.net/u011200562/article/details/126901262