Webpack模板

时间:2018-01-25 10:36:14

标签: javascript vuejs2 vue-router

我使用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/>'
})

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

2 个答案:

答案 0 :(得分:1)

而不是使用

import Test from '@/components/Test'

用作

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

lazy loading Documentataion

答案 1 :(得分:0)

很好的方法:

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

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