// 安装
npm i image-minimizer-webpack-plugin imagemin -D
// 无损
npm i imagemin-gifsicle imagemin-jpegtran imagemin-optipng imagemin-svgo -D
// 有损
npm i imagemin-gifsicle imagemin-mozjpeg imagemin-pngquant imagemin-svgo -D
// 配置
const ImageMinimizerWebpackPlugin = require('image-minimizer-webpack-plugin')
module.exports = {
optimization: [
new ImageMinimizerPlugin({
minimizerOptions: {
// Lossless optimization with custom option
// Feel free to experiment with options for better result for you
plugins: [
['gifsicle', { interlaced: true }],
['jpegtran', { progressive: true }],
['optipng', { optimizationLevel: 5 }],
// Svgo configuration here https://github.com/svg/svgo#configuration
[
'svgo',
{
plugins: extendDefaultPlugins([
{
name: 'removeViewBox',
active: false,
},
{
name: 'addAttributesToSVGElement',
params: {
attributes: [{ xmlns: 'http://www.w3.org/2000/svg' }],
},
},
]),
},
],
],
},
}),
]
}