VUE路由懒加载的3种方式
正常引入方式:
const router = new Router({
routers: [
{
path: '/login',
component: (resolve) => { require(['@/components/login/Login'], resolve)}
},
{
path: '/home',
component: (resolve) => { require(['@/components/home/Home'], resolve)}
}
]
})
2 路由懒加载(官方:把组件按组分块)
每个 () => import() 都会生成一个独立的JS文件
也就是说:只要使用这个语法,就是告诉 webpack 这就是一个代码分割点,这样生成一个独立的js文件,来实现按需加载的功能
相关代码:
const Goods = () => import(/* webpackChunkName: 'goods' */'@/components/goods')
const GoodsAdd = () => import(/* webpackChunkName: 'goods' */'@/components/goods-add')
3 webpack提供的require.ensure()
require.ensure()的语法:
require.ensure(dependencies:String [],callback:function(require),errorCallback:function(error),chunkName:String)
const router = new Router({
routers: [
{
path: '/login',
component: r => require.ensure([], () => r(require('@/components/login/Login')), 'login')
},
{
path: '/home',
component: r => require.ensure([], () => r(require('@/components/home/Home')), 'home')
},
]
})