📅  最后修改于: 2023-12-03 14:44:44.269000             🧑  作者: Mango
图片占用的磁盘空间较大,有时需要通过压缩来减少其大小。本文介绍如何在 Node.js 环境下进行图像压缩。
sharp
库sharp
是一个高性能的 Node.js 图像处理库,可以实现图像的压缩、裁剪、旋转等功能。安装 sharp
库:
npm install sharp --save
// 引入 sharp 库
const sharp = require('sharp');
// 压缩图片
sharp('input.jpg')
.resize(200, 200) // 设置宽度和高度
.toFile('output.jpg', (err, info) => {
if (err) {
console.log(err);
} else {
console.log(info);
}
});
sharp
中的 resize
方法可用来设置压缩后的图像大小。也可以通过 quality
参数设置压缩质量。
sharp('input.jpg')
.resize(200, 200)
.jpeg({ quality: 50 })
.toFile('output.jpg', (err, info) => {
if (err) {
console.log(err);
} else {
console.log(info);
}
});
imagemin
库imagemin
是一个图像压缩工具,可用于减少图像大小并提高网站性能。安装 imagemin
库:
npm install imagemin --save
可以通过以下方式使用 imagemin
库:
// 引入 imagemin 库
const imagemin = require('imagemin');
const imageminMozjpeg = require('imagemin-mozjpeg');
// 压缩图片
(async () => {
const files = await imagemin(['images/*.jpg'], {
destination: 'build/images',
plugins: [
imageminMozjpeg({
quality: 50 // 压缩质量
})
]
});
console.log(files);
})();
其中,imageminMozjpeg
是 imagemin
的插件,用于压缩 JPEG 图像。可以根据需要选择不同的插件来压缩不同类型的图像。
在 Node.js 环境下,可以使用 sharp
或 imagemin
库来实现图像压缩功能。这些库具有高性能、易于使用等优点,适用于 Web 开发等多个领域。