欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue-router懒加载的3种方式汇总

程序员文章站 2022-03-13 09:10:22
未使用懒加载import vue from 'vue';import router from 'vue-router';import helloworld from '@components/hell...

未使用懒加载

import vue from 'vue';
import router from 'vue-router';
import helloworld from '@components/helloworld';
vue.use(router);
export default new router({
routes:[
	{path:'./',
	name:'helloworld',
	component:helloworld
	}
]
})

vue异步组件

component:resolve=>{reuqire([‘需要加载的路由地址']),resolve)

import vue from 'vue';
import router from 'vue-router';
const helloworld=resolve=>{require(["@/components/helloworld"],resolve}
vue.use(router);
export default new router({
routes:[
	{path:'./',
	name:'helloworld',
	component:helloworld
	}
]
})

es6的import()

import vue from 'vue';
import router from 'vue-router';
import helloworld=()=>import('@/components/helloworld');
vue.use('router')
export default new router({
	routes:[{
	{path:'./',
	name:'helloworld',
	component:helloworld
	}
	}]
})

webpack的require.ensure()

require.ensure可实现按需加载资源,包括js,css等。他会给里面require的文件单独打包,不会和主文件打包在一起。

第一个参数是数组,表明第二个参数里需要依赖的模块,这些会提前加载。

第二个是回调函数,在这个回调函数里面require的文件会被单独打包成一个chunk,不会和主文件打包在一起,这样就生成了两个chunk,第一次加载时只加载主文件。

第三个参数是错误回调。

第四个参数是单独打包的chunk的文件名

import vue from 'vue';
import router from 'vue-router';
const helloworld=resolve=>{
		require.ensure(['@/components/helloworld'],()=>{
			resolve(require('@/components/helloworld'))
		})
	}
vue.use('router')
export default new router({
	routes:[{
	{path:'./',
	name:'helloworld',
	component:helloworld
	}
	}]
})

总结

到此这篇关于vue-router懒加载的3种方式的文章就介绍到这了,更多相关vue-router懒加载内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!