前端性能优化实现方式
缩小项目体积
treeshaking消除冗余代码
(webpack配置文件module.exports配置optimization.minimize,package.json中配置"sideEffects": false,或者"sideEffects": [".css"," .less"])
使用插件压缩文件(compression-webpack-plugin、uglifyjs-webpack-plugin)
减少网络请求次数和体积
图片懒加载
路由懒加载link (resolve、require异步组件;es6import;Vite的rollupOptions配置)
使用http缓存link
(强制缓存Expires和Cache-Control、协商缓存Last-Modified和If-Modified-Since、ETag和If-None-Match)
nginx配置http缓存link
http压缩
(gzip br压缩算法,Accept-Encoding 请求标头 Content-Encoding 响应标头体现)
减少dom操作,最小化重绘和重排:documentFragment等
使用 Web Workers
对于一些计算密集型任务,可以使用 Web Workers 将任务分发到多个线程中,提高运算效率,避免页面卡顿
避免使用全局变量