Vue-Router 的懒加载如何实现

非懒加载:

javascript 复制代码
import List from '@/components/list.vue'
const router = new VueRouter({
  routes: [
    { path: '/list', component: List }
  ]
})

(1)方案一(常用):使用箭头函数+import动态加载

javascript 复制代码
const List = () => import('@/components/list.vue')
const router = new VueRouter({
  routes: [
    { path: '/list', component: List }
  ]
})

(2)方案二:使用箭头函数+require动态加载

javascript 复制代码
const router = new Router({
  routes: [
   {
     path: '/list',
     component: resolve => require(['@/components/list'], resolve)
   }
  ]
})

(3)方案三:使用webpack的require.ensure技术,也可以实现按需加载。 这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

javascript 复制代码
// r就是resolve
const List = r => require.ensure([], () => r(require('@/components/list')), 'list');
// 路由也是正常的写法  这种是官方推荐的写的 按模块划分懒加载 
const router = new Router({
  routes: [
  {
    path: '/list',
    component: List,
    name: 'list'
  }
 ]
}))
相关推荐
酱酱们的每日掘金12 分钟前
一键连接 6000 + 应用dify MCP 插件指南、谷歌 AI 编程产品一网打尽、MCP玩出花了丨AI Coding 周刊第 4 期
前端·后端·ai编程·mcp
vjmap20 分钟前
如何一键自动提取CAD图中的中心线(如墙体、道路、巷道中心线等)
前端·javascript·gis
小鱼儿20201 小时前
vue入门:函数式组件
前端·javascript·vue.js
uhakadotcom1 小时前
🚀 使用 Bun 快速搭建 HTTP 服务器:一步步教程
前端·javascript·面试
大叔_爱编程1 小时前
wx212基于ssm+vue+uniapp的科创微应用平台小程序
vue.js·小程序·uni-app·毕业设计·ssm·课程设计·科创微应用平台小程序
时光少年1 小时前
Android ExoPlayer版本升级遇上系统的”瓜“
android·前端
TS古宁1 小时前
CST1017.基于Spring Boot+Vue共享单车管理系统
java·前端·vue.js·spring boot·后端
程序员易晶1 小时前
仿照管理系统布局配置
javascript·vue.js·elementui
OpenTiny社区2 小时前
Node.js技术原理分析系列7——Node.js模块加载方式分析
前端·node.js
TS古宁2 小时前
CST1018.基于Spring Boot+Vue滑雪场管理系统
java·vue.js·spring boot·后端·spring