vue的路由懒加载_vue图片懒加载

vue的路由懒加载_vue图片懒加载vue打包后的js文件越来越大,这会是影响加载时间的重要因数。当构建的项目比较大的时候,懒加载可以分割代码块,提高页面的初始加载效率。下面是几种常见vue路由懒加载的方法。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

vue打包后的js文件越来越大,这会是影响加载时间的重要因数。当构建的项目比较大的时候,懒加载可以分割代码块,提高页面的初始加载效率。下面是几种常见vue路由懒加载的方法。

方法一 resolve

这一种方法比较常见。它主要是使用了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在官网提供了一种方法,可以理解也是为通过Promise的resolve机制。因为Promise函数返回的Promise为resolve组件本身,而我们又可以使用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')
        }
  ]
}) 

官网中还提供了通过注释语法来提供chunk name的方法,但是webpack的版本要高于2.4的版本。感兴趣的可以到官网了解一下。

方法三 require.ensure

这种模式可以通过参数中的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')
        }
  ]
})

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185182.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Lambda架构和Kappa架构

    Lambda架构和Kappa架构 数据系统架构——Lambdaarchitecture(Lambda架构)传统系统的问题“我们正在从IT时代走向DT时代(数据时代)。IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好”——阿里巴巴董事局主席马云。数据量从M的…

    2022年6月25日
  • PO:如何更新DEV中PO到QAS再到PRD「建议收藏」

    PO:如何更新DEV中PO到QAS再到PRD「建议收藏」1,首先PO中的单个对象最好以文件夹方式存放,这样便于管理和上传,将DEV中需要上传的文件夹导出: 2.勾选第四个: 可以直接将该文件拖拽过来 之后直接FINISH. 3.打开QAS的ESR,将

    2022年6月28日
  • Java Double转Bigdecimal丢失精度原因学习

    Java Double转Bigdecimal丢失精度原因学习记录学习Double转Bigdecimal丢失精度的原因注意事项:不能直接使用Bigdecimal的构造函数传double进行转换,部分数值会丢失精度,因为计算机是二进制的Double无法精确的储存一些小数位,0.1的double数据存储的值实际上并不真的等于0.1如该方式将0.1转换为Bigdecimal得到的结果是0.1000000000000000055511151231257827021181583404541015625这是为什么呢,以往只是知道结论知道不能这么用,也大概知道是因为do

    2022年6月4日
  • C语言打开文件详解

    C语言打开文件详解C语言中操作文件之前必须先打开文件;所谓“打开文件”,就是让程序和文件建立连接的过程。打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、创建者、更新时间等。在后续读写文件的过程中,程序还可以记录当前读写到了哪个位置,下次可以在此基础上继续操作。 标准输入文件stdin(表示键盘)、标准输出文件stdout(表示显示器)、标准错误文件stderr(表示显示器)是由系统打开的,…

    2022年10月14日
  • 2020年当下软件园软件下载总排行榜

    2020年当下软件园软件下载总排行榜一、主题式网络爬虫设计设计方案1.爬虫名称:2020年当下软件园软件下载总排行榜。2.爬取内容:排名、软件类型、软件名称、用户评分、内存大小、评级。3.爬虫设计方案概述:(1)思路:找到要爬取

    2022年8月4日
  • 乐搏讲自动化测试 – Python基本数据类型(11)[通俗易懂]

    乐搏讲自动化测试 – Python基本数据类型(11)[通俗易懂]乐搏讲自动化测试 – Python基本数据类型(11)

    2022年4月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号