我使用angular-cli编译我的应用程序。运行ng build --prod
时会创建gzip包文件,但index.html仍在使用完整大小的文件。我尝试运行ng build --prod --aot
并得到了相同的结果。如何告诉angular-cli在生产中使用.gz文件?
答案 0 :(得分:6)
您正在使用过时的CLI版本:最新版本的用户不再生成gzip文件。
要提供gzip压缩文件,浏览器必须发送带有标头的请求,告知它接受gzip压缩响应,并且必须配置服务器然后gzip文件(或加载已经gzip压缩的文件),并发送gzip压缩结果,当浏览器请求文件时。
如何做到这一点取决于您的服务器。
但是index.html从不引用gzip压缩文件。它指的是JS文件。浏览器向服务器请求一个JS文件并告诉服务器它接受gzipped响应,并且服务器发送回gzipped JS文件(如果已配置为这样做)。
答案 1 :(得分:1)
如果您在AWS上托管您的网站,则无需自行压缩。我正在使用Cloud Front(CDN),它为我做了一切。
如何在云端启用Gzip压缩?
在设置Cloud Front Distribution时,将'自动压缩对象'从No改为YES
了解更多详情: https://aws.amazon.com/blogs/aws/new-gzip-compression-support-for-amazon-cloudfront/