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'
  }
 ]
}))
相关推荐
*小雪2 分钟前
vue2使用vue-cli脚手架搭建打包加密方法-JavaScript obfuscator
前端·javascript·vue.js
Coca16 分钟前
Vue 3 缩放盒子组件 ScaleBox:实现内容动态缩放与坐标拾取偏移矫正
前端
枫叶kx17 分钟前
发布一个angular的npm包(包含多个模块)
前端·npm·angular.js
工呈士18 分钟前
Webpack 剖析与策略
前端·面试·webpack
lyc23333319 分钟前
鸿蒙Next智能家居:轻量化模型的场景化落地
前端
天生我材必有用_吴用19 分钟前
Three.js开发必备:几何体BufferGeometry顶点详解
前端
憨憨是条狗20 分钟前
Vue + Vant H5 应用中实现 SSE 实时通知及系统通知功能
前端
dremtri20 分钟前
双 Token 认证机制详解与完整 Demo
前端·后端
CnLiang21 分钟前
fnm无缝切换项目的pnpm和node脚本化实践
前端·javascript
ze_juejin22 分钟前
JavaScript类型之Symbol
javascript