图片压缩

lishihuan小于 1 分钟

图片压缩

  • 创建一个空文件夹
  • npm init -y
  • sharp 处理图片压缩、裁剪、缩放 npm install sharp

脚本示例:

// compress-resize.js
const sharp = require('sharp')
const fs = require('fs')
const path = require('path')

const inputDir = 'C:\\Users\\lihuan\\Desktop\\images'          // 原图文件夹
const outputDir = 'C:\\Users\\lihuan\\Desktop\\output'         // 输出目录
const targetSize = 280   // 计划 图片压缩尺寸 280*280

if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir)

fs.readdirSync(inputDir).forEach(async file => {
  const inputPath = path.join(inputDir, file)
  const outputPath = path.join(outputDir, file)

  if (!file.toLowerCase().match(/\.(jpg|jpeg|png)$/)) return

  await sharp(inputPath)
    .resize(targetSize, targetSize, { fit: 'cover' })  // 覆盖裁剪为 280x280
    .toFile(outputPath)

  console.log(`处理完成: ${file}`)
})

运行方法:

node compress-resize.js