vue如何split_vue代码分割的实现(codesplit)

在vue单页应用中,若不做任何处理,所有vue文件会打包为一个文件,这个文件非常的大,造成网页在首次进入时比较缓慢。做了代码分割后,会将代码分离到不同的bundle中,然后进行按需加载这些文件,能够提高页面首次进入的速度,网站性能也能够得到提升。

一、未分割时浏览器加载js的情况

可以看到,只有一个app.js,大小为595kb,若在实际的大型项目中,这个大小会更大

二、做了代码分割后浏览器加载js情况

发现多了一个js文件,且app.js大小也变小了,下面看看点击到其他页面时加载情况

点到其他页面后,页面会依次加载当前页面的js

三、代码中如何使用

该demo中使用的vue版本号为2.5.2,不同版本的使用方式可能会有所不同

1、首先,看一下路由按需加载的做法

下面是修改前的代码

import Vue from 'vue'

import Router from 'vue-router'

import HelloWorld from '@/components/HelloWorld'

import page1 from '@/page/page1'

import page2 from '@/page/page2'

import page3 from '@/page/page3'

Vue.use(Router)

export default new Router({

routes: [

{

path: '/',

name: 'HelloWorld',

component: HelloWorld

},

{

path: '/page1',

name: 'page1',

component: page1

},

{

path: '/page2',

name: 'page2',

component: page2

},

{

path: '/page3',

name: 'page3',

component: page3

}

]

})

此时,我们只需将

import page1 from '@/page/page1'

改为

const page1 = () => import('@/page/page1')

这样,我们在切换路由时便达到按需加载了,怎么样,是不是很简单

2、在组件中按需加载其他组件

我们还是先来看看修改前的代码,此时引用组件的方式为传统正常的方式

import vOther from '@/components/other'

export default {

components: {

vOther

}

}

我们只需做如下修改,便能达到我们想要的效果,将

import vOther from '@/components/other'

改为

const vOther = () => import('@/components/other')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两相流计算中,如何用Tecplot提取水相断面平均物理量?

1.显示水相 1.导入计算结果case、data文件到Tecplot中 2.Tecplot菜单栏Plot-Blanking-Value Blanking... 以体积分数为变量进行blanking: 此时&#xff0c;只显示体积分数<0.5的区域 2.提取水相断面物理量断面平均值 1.切片 Slices-Details-选择需要的切片位置-Extrac…

【Android实战】Gallary+ImageSwicther图片查看器

仿照如今各大新闻站点图片新闻的浏览模式&#xff0c;上面展示详细图片&#xff08;ImageSwitch&#xff09;&#xff0c;以下是能够滑动的小图片(Gallery)。当中须要注意的是ImageSwitch须要定义一个工厂返回的组件&#xff0c;而且能够设置动画效果。Gallery用适配器载入布局…

陈伯雄lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

龙源期刊网http://www.qikan.com.cn基于AutoLisp的AutoCAD二次开发自动生成系统图作者&#xff1a;郎建山金江来源&#xff1a;《科技视界》2013年第22期【摘要】本文主要阐述了应用AutoLisp语言二次开发AutoCAD自动生成系统图的实现方案。【关键词】AutoCAD&#xff1b;AutoLi…

Tecplot中使用公式

如图&#xff0c;计算结果中只有x、y、z三个方向流速&#xff0c;如果要知道某点流速大小需要自定义公式 方法&#xff1a; 其中Tecplot中自定义公式规则见该文&#xff1a; Tecplot中使用公式

birt报表与现有系统的集成

与现有的系统结合有两种常见方式(其一) 1、使用Birt自带的runtime 把Birt-runtime-2.1.3.zip解压&#xff0c;把WebViewerExample 拷贝到% tomcat-Home%\webapps目录下。 把你做好的*..rptdesign 和*.rptconfig文件放于% tomcat-Home%\webapps\ report目录下 我们把刚刚创建的第…

it工程师和码农的区别_你是开发工程师、程序员还是码农?

Developers are from Mars, programmers are from Venus, so where are coders from?不管是CPPer&#xff0c;Javaer&#xff0c;还是PHPer等等&#xff0c;不少开发人员经历过这样的困惑&#xff1a;我到底是工程师(SDE&#xff0c;or Developer)&#xff0c;程序员(Programm…

Tecplot中如何提取水线面(自由表面)并绘图

1.导入CAS和DAT文件 file-->load data 2.绘制体积分数云图 contour-->phase 2 3.绘制等值表面 plot-->iso-surface 4.从等值面提取数据 data-->extract-->iso-surfaces 如果报错记得勾选iso-surfaces&#xff0c;再进行上一步操作 此时&#xff0c;可以看到…

Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】

Mobiscroll是一个用于触摸设备的日期和时间选择器&#xff0c;它的使用不会改变HTML5、PhoneGap以及混合应用的原生用户体验。作为一款jQuery滑动选择插件&#xff0c;用户可以自定义主题样式&#xff0c;为自己的移动项目UI组件添色。Mobiscroll支持所有主流平台&#xff1a;i…

Tecplot云图锯齿状边界解决办法

问题描述&#xff1a; Tecplot绘制云图时出现锯齿状边界。如图&#xff1a; 解决办法&#xff1a; 2D Cartesion: Plot-Banking-Value Banking-Trim cells along boundary 3D Cartesion: 3D Cartesion中Banking选项卡无Trim cells along boundary选项&#xff0c;目前不知道…

zookeeper的acl权限控制_Zookeeper 权限控制 ACL介绍

zookeeper 的 ACL(Access Control List&#xff0c;访问控制表)权限在生产环境是特别重要的。ACL 权限可以针对节点设置相关读写等权限&#xff0c;保障数据安全性。permissions 可以指定不同的权限范围及角色。ACL 命令行1. getAcl 命令&#xff1a;获取某个节点的 acl 权限信…

sqlserver 跨服务器查询

有两种方法&#xff0c;先记下第一种 sqlserver manager里的新查询中启用 Ad Hoc Distributed Queries&#xff1a; exec sp_configure show advanced options,1 reconfigure exec sp_configure Ad Hoc Distributed Queries,1 reconfigure ---用openDATASOURCE执行 select * fr…

HEC-RAS泥沙计算中非恒定流和准恒定流的选择

准恒定流(Quasi-Unsteady Flow) 将非恒定流流量过程划分成小段的恒定流过程&#xff0c;并在该断时间段内执行恒定流分析计算水力特性&#xff0c;根据计算得到的水力特性计算该时段内的泥沙淤积结果。 优点&#xff1a;计算稳定&#xff0c;易收敛。 缺点&#xff1a;Quasi…

python cli_click python cli 开发包

python click 包是一个方便的cli 开发包&#xff0c;我们可以用来开发强大的cli 应用使用venv 进行环境准备&#xff0c;示例代码来自官方venv 环境准备python3 -m venv demoapp安装pip install click基本使用代码cli.pyimport clickclick.command()click.option("--count…

ElasticSearch 2 (27) - 信息聚合系列之故事开始

ElasticSearch 2 (27) - 信息聚合系列之故事开始 摘要 到目前为止&#xff0c;本书都在着重介绍搜索。对于搜索&#xff0c;我们有查询条件以及与查找到与条件匹配的集合。这个过程就和如大海捞针一样。 对于聚合&#xff0c;我们站在远处总观数据。与查看单个文档不同&#xf…

3个阶段 项目征名_萧山日报数字报-蓝城萧立7大代建项目征名开启

■记者 陈胜楠“家”&#xff0c;对于中国人而言&#xff0c;代表的是心灵深处的幸福感。因此它的赋名不光大气悦耳&#xff0c;更饱含美好寓意。不过&#xff0c;一般而言&#xff0c;自己家小区的案名往往是“与生俱来”的&#xff0c;其起名的由来、内含的寓意等&#xff0c…

idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...

其实通过逆向工程&#xff0c;然后去配置一些config,就可以实现&#xff0c;从Table到Model的相互转换&#xff0c;而且&#xff0c;对于下划线命名的Table字段&#xff0c;实现驼峰式命名的Model &#xff0c;有时候我们只是做个测试&#xff0c;或者自己基于数据的表&#xf…

Android之下拉刷新的ListView

不废话&#xff0c;代码里面注释很详细&#xff0c;直接上代码&#xff1a; 自定义的RefreshableListView代码&#xff1a; 1 public class RefreshableListView extends ListView implements OnScrollListener {2 private View header; // ListView顶部布局3 private …

ib网卡命令_infiniband交换机配置命令总结

串口通过远程CRT登录&#xff0c;波特率9600用户名和密码都是adminDo you want to use the wizard for initial configuration?选择no打开ip routingsx1012 [standalone: master] (config) # ip routing设置mgmt0端口的ip地址sx1012 [standalone: master] (config) # interfac…

YYCache 设计思路

iOS 开发中总会用到各种缓存&#xff0c;最初我是用的一些开源的缓存库&#xff0c;但到总觉得缺少某些功能&#xff0c;或某些 API 设计的不够好用。YYCache (https://github.com/ibireme/YYCache) 是我新造的一个轮子&#xff0c;下面说一下这个轮子的设计思路。 内存缓存 通…

几何画板椭圆九种画法_如何利用几何画板自定义工具画椭圆

椭圆在数学中占有一定的比重&#xff0c;是中学时代必学的圆锥曲线之一&#xff0c;也是历来考试的重点和难点。几何画板作为专业的几何绘图工具&#xff0c;可以用来画椭圆图形。前面的教程学习了在几何画板中利用椭圆定义画椭圆的方法&#xff0c;其实我们还可以利用自定义工…