webpack模板中的Vuejs延迟加载路由

Vuejs lazy loading routes in webpack template

我已经使用 vue-cli 工具和 webpack 模板创建了 vuejs 项目。

vue init webpack my-project

我不知道如何用模板在路由上实现延迟加载

目前我在router/index.js

有两条路线
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Test from '@/components/Test'

Vue.use(Router)

export default new Router({
   mode: 'history',
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/test',
      name: 'test',
      component: Test
    }
  ]
})

并在 main.js

中导入
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

但它不包含延迟加载实现我该怎么办??

而不是使用

import Test from '@/components/Test'

用作

const Test = () => import('@/components/Test');

lazy loading Documentataion

这样做的好方法:

function load (component) {
  return () => import(`@/${component}.vue`)
}

...
routes: [
    { path: '/', component: load('Hello') },