在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')

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

vue如何split_vue代码分割的实现(codesplit)相关推荐

  1. 前端每周清单第 30 期:WebVR 指南,Vue 代码分割范式,理想的 React 架构特性

    前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点:分为新闻热点.开发教程.工程实践.深度阅读.开源项目.巅峰人生等栏目.欢迎关注[前端之巅]微信公众号(ID:front ...

  2. 代码分割(Code Splitting)

    代码分割(Code Splitting) 为什么要分割代码?代码分割有什么作用呢? 答:两个方面. 1.项目包含第三方依赖库以及自己写的代码,打包出的文件会比较大,在用户访问系统的时候,由于请求的资源 ...

  3. 16 代码分割之错误边界与Suspense和命名导出

    代码分割之错误边界与Suspense const Main = React.lazy(() => import('./main')) class ErrorBoundary extends Re ...

  4. Webpack进阶(二)代码分割 Code Splitting

    源代码index.js里包含2部分 ① 业务逻辑代码 1mb ② 引入(如lodash包)的代码 1mb 若更新了业务逻辑代码,但在浏览器运行时每次都下载2mb的index.js显然不合理,第三方包是 ...

  5. 13 代码分割之import静动态导入

    前端首屏优化方案之一 项目构建时会整体打包成一个bundle的JS文件,而有的代码.模块是加载时不需要的,需要分割出来单独形成一个文件块chunk(不会打包在main里),让模块懒加载(想加载时才加载 ...

  6. css-6 df15,webpack 样式文件的代码分割(15)

    获取全套webpack 4.x教程,请访问瓦力博客 在上一小节,我们将开发环境和生产环境区分开来.这一小节,我们来操作如何将样式文件的代码分割. 1.安装 yarn add mini-css-extr ...

  7. webpack打包生成的map文件_一站式搞明白webpack中的代码分割

    上次分析到通过devtool的配置项来设置source map,在线上环境可以通过设置成cheap-module-source-map来生成单独的map文件,但是map文件在线上环境会不会每次都加载呢 ...

  8. vue项目示例代码git_您应该了解的5个Git命令以及代码示例

    vue项目示例代码git I've used Git for some years now, and I still find myself googling how to do some basic ...

  9. css练习题4,复习webpack4之CSS文件代码分割

    之前学习过webpack3的知识,但是webpack4升级后还是有很多变动的,所以这次重新整理一下webpack4的知识点,方便以后复习. 这次学习webpack4不仅仅要会配置,记住核心API,最好 ...

最新文章

  1. 工资8000以下的程序员注意了:《零coding数据大屏实战宝典.pdf》
  2. 编程语言python特点-Python和其他编程语言相比有哪些优势呢?
  3. Intel汇编语言程序设计学习-第二章 IA-32处理器体系结构-上
  4. Java - 死锁 Dead Lock 定位分析
  5. html5列表去掉符号,从Python字符串中删除不在允许列表中的HTML标记
  6. C++虚函数与多态性
  7. android TextView EditTextView一些技巧使用 (视图代码布局)
  8. Wireshark 在Windows下的安装
  9. [北京昌平] 企名片寻找合适的伙伴,一起做数据,让数据不再难找难应用,做全球企业数据服务商...
  10. Windows批处理(.bat)常用命令教程
  11. 广和通亮相世界宽带论坛2022,构建5G FWA全场景无线宽带体验
  12. pytorch实战:采用Lenet运行iChallenge-PM数据集
  13. 服务器挂载本地iso文件系统,CentOS系统中挂载光盘镜像ISO文件的教程
  14. nginx PHP499错误,Nginx日志错误码499的问题解决方法
  15. space-evenly的兼容性问题
  16. 小公司需要企业邮箱么?小企业用什么企业邮箱?
  17. 安装步骤_Saber 2016 安装步骤
  18. python输出一首诗_基于循环神经网络(RNN)的古诗生成器
  19. 用VS2010开发AutoCAD2006对应的arx文件
  20. 九度OJ——1023Excel排序

热门文章

  1. 华强北三代悦虎1562A怎么样?
  2. mongoose日期 时间 范围查询
  3. android使用menu需要重写的方法,Android – 正确使用invalidateOptionsMenu()
  4. centos 如何登陆mysql_CentOS 配置MySQL允许远程登录
  5. 幻读Java_脏读、幻读、不可重复读和丢失更新
  6. mybatis高级查询,批量新增
  7. 如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行
  8. 【OS学习笔记】十七 保护模式五:保护模式下如何进行内存保护 与 别名段的意义与作用
  9. 并不对劲的BJOI2019
  10. php: +1天, +3个月, strtotime(): +1 day, +3 month