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

时间:2021-05-26

未使用懒加载

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懒加载内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章