我想弄清楚如何正确使用 webpack-html-plugin 和 _压缩插件_,后者的文档有点稀缺。
我的 webpack 配置声明:
output: {
filename: 'js/[name]-[hash].js',
压缩插件终于运行了
new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip"
})
最后脚本被正确生成和压缩。
js/app-caf3b4b3.js.gz 382 kB [emitted] [big]
我可以在 index.html
模板中声明 gzip 文件的预加载
<link rel="preload" href="<%= htmlWebpackPlugin.files.chunks[chunk].entry %>.gz" as="script">
但是 webpack 负责插入这一行:
<script type="text/javascript" src="/js/app-caf3b4b3.js">
内部 <body></body>
我怎样才能让 webpack 使用压缩脚本?
原文由 Flint 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不需要链接 html 中的压缩文件。您必须在服务器端执行此操作。您还可以压缩 css 和 html 文件。
将您的服务器设置为使用 gzip 压缩发送文件,您还需要适当的标头来告诉浏览器如何解释该压缩文件。
如果您使用的是 Apache 服务器,则可以使用 .htaccess 文件启用 gzip 压缩。
我将它用于我的 Apache 服务器:
您可以通过 google 获取有关 如何使用 gzip 压缩优化网站 的更多信息。
https://gtmetrix.com/enable-gzip-compression.html
https://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/optimize-encoding-and-transfer#text_compression_with_gzip