使用 next-images
和 imagemin-webp-webpack-plugin
这两个包来优化 Next.js 应用程序,具体步骤如下:
npm i next-images imagemin-webp-webpack-plugin -D
next.config.js
中进行配置const withImages = require('next-images');
const ImageminWebpWebpackPlugin = require('imagemin-webp-webpack-plugin');
module.exports = withImages({
webpack(config, options) {
config.plugins.push(
new ImageminWebpWebpackPlugin({
config: [{
test: /\.(jpe?g|png)/,
options: {
quality: 75
}
}]
})
)
return config
}
})
src
文件夹下创建一个 .webp
文件夹,并将需要预转换的图片放入其中。例如:src
├── components
├── pages
└── public
├── images
└── webp
├── logo.webp
├── image1.webp
└── image2.webp
.jpg
或 .png
后缀的图片路径改成 .webp
。例如:import Logo from '../public/webp/logo.webp'
function Header() {
return (
)
}
经过这样的配置后,Next.js 在编译时会自动将 .webp
文件夹中的图片预转换成 .webp
格式的图片,从而减少图像转换,提高应用程序性能。