优化ant design pro打包之后vendors.async.js文件大的问题

2024-02-24 20:10

本文主要是介绍优化ant design pro打包之后vendors.async.js文件大的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目使用的是ant design pro V2,比较老的版本了,项目部署之后每次首页都加载缓慢,看了下打包后的dist文件夹里,最大的两个文件是vendors.async.js和umi.js。
umi打包的时候会把第三方组件全部打包到vendors.async.js文件中,如果想要减小vendors.async.js文件的大小,就需要分析哪些组件被打包进去了,然后通过拆分去进行优化。这个还没有弄很明白,后来我看了下我的项目用gzip压缩之后就已经小很多了,就只用了gzip,如果后面项目文件多到gzip压缩都不行了再去研究那个吧。

1.cnpm run analyze


使用命令cnpm run analyze查看现在文件大小以及gizp之后能减少多少,如果减少的不是很多的话,用gizp也没有什么必要,就要考虑其他优化方法了。

cnpm run anaylze

Parsed显示的是打包后文件的大小,
Gzipped显示的是使用gzip压缩后的文件的大小。
压缩之后文件大小缩小了三倍多。
在这里插入图片描述
在这里插入图片描述

2.前端使用gzip


1.安装插件compression-webpack-plugin

cnpm i compression-webpack-plugin@1.1.12 -S

2.修改config/config.js中的chainWebpack。chainWebpack引入了同目录下的另一个文件plugin.config,plugin.config中的内容不变,再添加gizp相关配置

// Change theme plugin
import CompressionWebpackPlugin from 'compression-webpack-plugin';
const prodGzipList = ['js', 'css'];export default config => {// 以下为gzip配置内容if (process.env.NODE_ENV === 'production') {  // 生产模式开启config.plugin('compression-webpack-plugin').use(new CompressionWebpackPlugin({// filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称//filename: '[path].gz[query]',algorithm: 'gzip', // 指定生成gzip格式test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩threshold: 10240, //对超过10k的数据进行压缩minRatio: 0.6 // 压缩比例,值为0 ~ 1}));}
};

3.打包。打包之后能看到dist文件夹下有.gz后缀的文件,前端就可以了。

cnpm run build

3.后端


服务器也需要部署gzip,我使用的是tomcat部署。
只需要再conf/server.xml中添加配置就可以了。添加compression,compressionMinSize,noCompressionUserAgents,compressableMimeType这四个,即代码的最后四行。

<Connector port="8090" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" compression="on" compressionMinSize="2048"   noCompressionUserAgents="gozilla, traviata"                            compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,text/json"/>

4.结果


重新启动tomcat之后,可以看到与之前相比,文件大小已经变小了,访问时间也缩短了。

在这里插入图片描述
在这里插入图片描述
主要学习于此博客

---------------------------追加--------------------------------------------------------------------------------------------------------
问题:(希望有大佬能看到)
我只修改了服务器的配置,只给tomcat加上了gzip的配置,然后去访问就发现文件大小已经变小了(我还没更新前端文件呢),突然没有明白前端做gzip配置的意义,有点懵。
另外在我本地部署的tomcat项目访问起来总是要比在云端部署的tomcat访问起来快,是项目优化没到位还是云端访问的问题呢

这篇关于优化ant design pro打包之后vendors.async.js文件大的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743234

相关文章

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据