我试图弄清楚如何正确使用带有压缩插件的webpack-html-plugin,后者的文档有点稀缺。
我的 webpack 配置声明:
output: {
filename: 'js/[name]-[hash].js',
Run Code Online (Sandbox Code Playgroud)
压缩插件终于运行了
new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip"
})
Run Code Online (Sandbox Code Playgroud)
最后,脚本被正确生成和压缩。
js/app-caf3b4b3.js.gz 382 kB [emitted] [big]
Run Code Online (Sandbox Code Playgroud)
我可以在index.html模板中声明 gzip 文件的预加载
<link rel="preload" href="<%= htmlWebpackPlugin.files.chunks[chunk].entry %>.gz" as="script">
Run Code Online (Sandbox Code Playgroud)
但是 webpack 负责插入这一行:
<script type="text/javascript" src="/js/app-caf3b4b3.js">
Run Code Online (Sandbox Code Playgroud)
代替 <body></body>
如何让 webpack 使用压缩脚本?