当打包构建应用时,javascript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应的组件,这样就更加高效了。
如下:
const Foo=resolve=>require(['./Foo.vue'],resolve)
const router = new VueRouter({
routes:[
{path:'./foo',conponent:Foo}
]
})
有时候我们想把某个路由下的所以组件都打包在同个异步chunk中。只需要给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')