前端性能优化总结

gzip压缩

gzip压缩效率很高,可以达到70%的压缩率

//npm i -D compression-webpack-plugin 安装插件依赖
configureWebpack: config => {
const CompressionPlugin = require(‘compression-webpack-plugin’)
config.plugins.push(new CompressionPlugin())
}

去掉console.log

生产环境中,不需要打印日志。通过对webpack进行配置,打包时自动去掉console.log

//npm i -D terser-webpack-plugin
configureWebpack:config =>{
const TerserPlugin = require(‘terser-webpack-pulugin’)
config.optimzation.minimizer.push(
new TerserPlugin({
extractComments:false,
terserOptions:{compress:{drop_console:true}} //插件配置项 移除console
})
)
}

去除SourceMap

代码压缩后进行调bug定位将非常困难,于是引入sourcemap记录压缩前后的位置信息记录,当产生错误时直接定位到未压缩前的位置,将大大的方便我们调试。

sourcemap附带了很多信息,如果build需要生成sourcemap,将会大大降低build的速度,还会增加包的体积。

//vue 中
module.exports = {
productionSourceMap: false,
}

//react中
//打开webpack.config.prod.js
const shouldUseSourceMap = false

CDN

内容分发网络,它能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。所以可以通过将资源部署在CDN上来提高响应速度,提高用户体验
预渲染

简单来说,就是将浏览器解析JavaScript动态渲染的工作,在打包阶段完成了(只构建了静态数据)。换个说法,在构建过程中,webpack通过使用prerender-spa-plugin插件生成静态结构的html

更多请见:http://www.mark-to-win.com/tutorial/50671.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值