我在文件名中放置了一个console.log,compression-webpack-plugin
在构建过程的最开始,将打印一个日志,实际上,在将sw.js
文件的内容复制到一个新创建的名为的文件之后service-worker.js
,但目前没有关于self.__WB_MANIFEST
哪个文件的信息必须通过workbox来宣讲precacheAndRoute
。在构建过程结束时,当信息到达时,一个数组(宣扬的时间及其修订版)将被替换self.__WB_MANIFEST
并注入service-worker.js
,但不会发生压缩日志。因此 . 的压缩文件和原始文件将不兼容service-wroker.js
。
webpack 插件
{
plugins: [
// ...
new WorkboxPlugin.InjectManifest({
swSrc: './src/setup/sw.js',
swDest: 'service-worker.js',
exclude: [/\.(gz|br)$/],
maximumFileSizeToCacheInBytes: 10 * 1024 * 1024,
}),
// ...
new CompressionPlugin({
filename(pathData) {
console.log(pathData)
return '[path][base].gz'
},
algorithm: 'gzip',
minRatio: 0.8,
test: /\.(js|css|html|svg|wasm)$/,
})
]
}
包.json
{
"webpack": "^5.4.0",
"compression-webpack-plugin": "^6.0.5",
"workbox-webpack-plugin": "^6.0.0-alpha.3",
}