当前位置: 首页 > news >正文

vue中路由懒加载的写法

为什么需要路由懒加载?

当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效。

懒加载写法

写法一:

主要是使用了resolve的异步机制,用require代替了import,实现按需加载

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
//     }{path: '/',name: 'HelloWorld',component: resolve => require(['@/components/HelloWorld'], resolve)}]
}) 

写法二:

vue-router在官网提供了一种方法,可以理解也是为通过Promiseresolve机制。因为Promise函数返回的Promiseresolve组件本身,而我们又可以使用import来导入组件

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
//     }{path: '/',name: 'HelloWorld',component: () => import('@/components/HelloWorld.vue')}]
}) 

方法三:

通过参数中的webpackChunkName将js分开打包

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
//     }{path: '/',name: 'HelloWorld',component: resolve => require.ensure([], () => resolve(require('@/components/'+componentName)), 'webpackChunkName')}]
})
http://www.lryc.cn/news/96060.html

相关文章:

  • 【Spring MVC】小文件上传的多种方法
  • UE5.1移动端PreintegratedSkinBxDF解析
  • WebSocket心跳机制(笔记大全)
  • Spring Boot日志:SLF4J和Logback
  • [C++] C++入门第二篇 -- 引用 -- 内联函数inline -- auto+for
  • Latex | 将MATLAB图并导入Latex中的方法
  • JSON格式Python,Java,PHP等封装根据关键词搜索获取淘宝商品列表数据API
  • MySQL MHA高可用配置及故障切换
  • PHP8知识详解:PHP8开发工具VS Code的安装
  • Sui Move与标准Move的有哪些区别和根本性创新
  • 构建自己的ChatGPT:从零开始构建个性化语言模型
  • 【react】react18的学习(十二)– 底层原理(二)之 迭代器 iterator
  • 一遍过JavaSE基础知识
  • 【云原生】Kubernetes之ConfigMap
  • 8.python设计模式【组合模式】
  • tkinter制作任意图形窗口
  • 视频监控综合管理平台EasyCVR多分屏默认播放协议的配置优化
  • 2023杭电多校第三场 1012.Noblesse Code
  • ubuntu qt 环境变量配置
  • 按照Vue写WPF(0):功能实现
  • vb+ACCESS教师管理系统设计设计与实现
  • C++笔记之对指针类型的变量进行+1操作
  • 第六章 游标
  • Github上方导航栏介绍
  • 【vue3+ts】TypeError: Cannot read properties of undefined (reading ‘commit‘)
  • seq2seq、attention、self-attention、transformer、bert
  • 07.计算机网络——数据链路层
  • 海外服务器推荐:国外高性能服务器免费
  • Python基于PyTorch实现卷积神经网络分类模型(CNN分类算法)项目实战
  • JMeter 配置环境变量步骤