博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
哦屋~如此优化能使你项目的速度到达一个逼格!
阅读量:5861 次
发布时间:2019-06-19

本文共 1244 字,大约阅读时间需要 4 分钟。

优化前:

优化后:

思路:

vue打包后会把所有的js封包在vendor.js中,这时候这个文件就会变得很臃肿,以及app.js也挺大的。那么可以把这两个js包进行拆分,用懒加载方式重新打包。还有引用了vue,vue-router,vuex,element等等全局组件都会导致项目在渲染的时候需要等待加载导致速度变缓慢。可以用cdn引用全局库来处理(对了,能用cdn尽量用cdn,至于为什么,用了你就知道)。

步骤一

/src/router/index.js

// 修改前import Article from './article'export default new Router({  routes: [    {      path: '/',      name: 'Article',      component: Article    },  ]})复制代码

修改后

export default new Router({  routes: [    {      path: '/',      name: 'Article',      component: () => import('../views/article/index.vue')    },  ]})复制代码

步骤二

/build/webpack.base.conf.js

externals: {    vue: 'Vue',    'vue-router': 'VueRouter',    vuex: 'Vuex',    'element-ui': 'ELEMENT'}复制代码

对应的引用库注释掉 /src/main.js

// import ElementUI from 'element-ui'// import { Button, Input, Form, FormItem, Message } from 'element-ui'// import 'element-ui/lib/theme-chalk/index.css'// Vue.use(ElementUI)复制代码

项目首页引入cdn,并对cdn失效做处理

/index.html

复制代码

两步优化:就这样优化就够了吗?确实只有这两步骤速度就有了质的变化了,接着就是细节的处理了,比如基础的js压缩,css有压缩,雪碧图,减少http请求等等,这边我想再说的一点就是首屏优化策略,对于首屏加载可以使用预渲染机制prerender-spa-plugin,但是我测试过,速度并没有提升,反而我觉得慢了。简单的首屏可以使用这个预渲染机制,还有就是项目部分ssr服务端渲染,只加载用户看得到的部分等等。优化的道路任重而道远,只有不断求最优解,才能不断有新大陆发现。

扩展优化插件

webpack-bundle-analyzer 分析项目打包库

prerender-spa-plugin 预渲染模式

转载地址:http://jzwnx.baihongyu.com/

你可能感兴趣的文章
在 Range 对象中,Min (12)必须小于或等于 max (-1)。
查看>>
唯一ID算法之:snowflake(Java版本)
查看>>
1854: [Scoi2010]游戏
查看>>
算法模板——哈希单模板字符串匹配
查看>>
单片机IAP学习
查看>>
Python 学习笔记【05】流程控制
查看>>
jquery text
查看>>
如何通俗易懂地解释卷积?
查看>>
HTTP协议详解
查看>>
Cap07_项目成本管理
查看>>
填当年上课睡觉的坑---基础篇
查看>>
css3 旋转出现动画
查看>>
2012-7 个人小结
查看>>
centos 7 启动docker失败。
查看>>
摘抄:Java多线程学习
查看>>
最长特殊序列 II
查看>>
springMVC
查看>>
Http简析
查看>>
Communication with each role instance in Azure
查看>>
Xcode6和Xcode5获取app名字及国际化的不同
查看>>