vue router 路由懒加载
懒加载模式
大项目中,为了提高初始化页面的效率,路由一般使用懒加载模式,一共三种实现方式。
(1)第一种写法:
component: (resolve) => require(['@/components/One'], resolve)
(2)第二种写法:
component: () => import('@/components/Two')
这样:
const Index = () => import(/* webpackChunkName: "group-home" */ '@/views/index')
const routers = [
{
path: '/',
name: 'index',
component: Index
}
]
//PS:
group-home’ 是把组件按组分块打包, 可以将多个组件放入这个组中
/* webpackChunkName: "group-home" */ 是打包后文件名称,后面是文件路径。
//在build目录下找到webpack.prod.conf.js文件,将output修改为
output: {path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),//文件格式,文件名.文件哈希
chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')//文件切割后的文件名称。这里的name对应的就是路由中引入文件时候的webpackChunkName
}
(3)第三种写法:
components: r => require.ensure([], () => r(require('@/components/Three')), 'group-home')
栗子:或者这样
const Index = r => require.ensure([], () => r(require('./views/index')), 'group-home');
const routers = [
{
path: '/',
name: 'index',
component: Index
}
]
PS:
一般常用第二种简写
第三种中,’group-home’是把组件按组分块打包, 可以将多个组件放入这个组中,在打包的时候Webpack会将相同 chunk 下的所有异步模块打包到一个异步块里面。
路由正常模式:
// 1、先引入页面组件import Home from '@/components/Home'// 2、使用组件{
path: '/home',
component: Home}
以上是 vue router 路由懒加载 的全部内容, 来源链接: utcz.com/z/375763.html