gdutwyg / blog

使用issues记录笔记
0 stars 1 forks source link

vue router 懒加载的几个方式 #62

Open gdutwyg opened 5 years ago

gdutwyg commented 5 years ago

定义

* 第二种

```js
// AMD 风格的 require
const Foo = resolve => require(['./Foo.vue'], resolve)

使用

使用跟之前没变

// 使用
const router = new VueRouter({
  routes: [ { 
       path: '/foo', 
       component: Foo 
     }]
})

把组件按组分块

如果打包时想按组分块,比如说几个组件打包在同一个chunk里面,需要这样设置

// 提供 require.ensure第三个参数作为 chunk 的名称
const Foo = r => require.ensure([], () => r(require('./Foo.vue')), 'group-foo')
const Bar = r => require.ensure([], () => r(require('./Bar.vue')), 'group-foo')
const Baz = r => require.ensure([], () => r(require('./Baz.vue')), 'group-foo')

webpack 将相同 chunk 下的所有异步模块打包到一个异步块里面 —— 这也意味着我们无须明确列出 require.ensure 的依赖(传空数组就行)