在部署ionic项目的时候,发现vendor.js文件过大,达到了1.6M,h5页面需要加载十五秒才能显示出来。这显然是不能接受的。
按照网上的指导,更换了ionic的大包方式,由
ionic build --prod改为了
ionic cordova build browser --prod按理说忽略了没用的js文件,vendor.js应该变小的,可是并没有生效。仍然是1.6M。所以,只能从容器层面下手了。在网上看了多篇博客,七零八碎,所以我自己总结记录。
tomcat 启动gzip压缩各种属性介绍:
compression="on" 打开压缩功能compressionMinSize="1024" 启用压缩的输出内容大小,大于1024K才启动压缩,默认为2KBnoCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩compressableMimeType="application/json,application/xml,text/html,text/xml,text/plain,application/javascript,font/ttf,image/jpg,image/png,image/gif"哪些资源类型需要压缩useSendfile="false" 这个属性至关重要,tomcat默认设置是当数据大小达到48kb时,将启用文件传输(sendfile),所以我们想要压缩超过48kb的数据时必须将useSendfile设置为false。如果这个属性没设置,那么上边4个属性的设置就全都会失效。注意,以上开启gzip压缩的配置在tomcat8以前不生效。 原因:tomcat7以后,js文件的mimetype类型变为了application/javascript
所以Tomcat8以前,需要将compressableMimeType中的“application/javascript”写为“text/javascript”
同时注意,如果Tomcat被nginx或其他代理软件所代理。项目访问路径直接访问的nginx,那你仍需要将nginx的gzip启动。只有直接访问Tomcat,以上的配置才生效。
文章中有部分内容摘自其他博客,如有侵权请告知。定会删除。