JavaScript工具站

compressorjs — JavaScript 工具站模板

作者 fengyuanchen

轻量级浏览器端图片压缩库,基于Canvas原生API,适合前端上传前预处理。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图

演示站首页的真实桌面布局。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。 本截图因高度限制未包含整页。

采集于 2026-09-27查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

基于 Canvas 原生 toBlob(),无额外依赖,轻量易用

02

支持质量、尺寸、格式等多项压缩参数,可精细控制输出

03

提供 beforeDraw 和 drew 钩子,便于添加水印或滤镜

04

自动处理 EXIF 方向,避免图片旋转问题

05

支持将大体积 PNG 自动转换为 JPEG,有效减小文件大小

06

提供 abort() 方法,可中断压缩过程

模板详细介绍

compressorjs 是一个专注于浏览器端图片压缩的 JavaScript 库,而非完整的工具站模板。它利用 HTMLCanvasElement.toBlob() 原生方法进行有损压缩,整个过程异步执行,且压缩效果因浏览器而异。项目提供 UMD、CommonJS 和 ES Module 格式,可通过 npm 安装或直接引入,并附带一个在线演示页面,展示基本的上传与压缩流程。

核心能力集中在图片尺寸、质量、格式的精细控制上,例如设置输出宽高、质量系数(0.6-0.8 推荐)、自动将大体积 PNG 转为 JPEG,以及通过钩子函数在绘制前后添加水印或滤镜。它特别适合需要在上传前减少图片体积的 Web 应用,如表单头像上传、图片分享工具等。

需要明确的是,compressorjs 本身是一个库,不包含任何 UI 组件或后端逻辑。演示页面仅用于功能展示,不能直接作为生产环境的前端工具站使用。此外,由于依赖 Canvas,压缩结果在不同浏览器存在差异,且大图处理时需注意内存限制。若计划集成到项目中,需自行实现界面、错误处理及上传逻辑,并针对目标浏览器进行充分测试。

可直接运行在线工具图像处理文件处理

适合你的项目吗?

适用场景

  • 浏览器端图片上传前的预压缩,减少带宽消耗
  • 需要控制图片最终尺寸或格式的在线工具
  • 在图片上添加水印或简单滤镜后再输出的场景
  • 作为自定义图片处理工具的核心压缩模块

适合人群

  • 前端开发者,希望快速集成图片压缩功能
  • 需要处理用户上传图片的 Web 应用
  • 对包体积敏感,偏好原生 API 实现的项目
  • 已有 UI 框架,只需压缩逻辑的场景

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    通过 npm 安装 compressorjs,然后引入对应模块。

  2. 2

    使用时需传入 File 或 Blob 对象,并在 success 回调中获取压缩结果。

  3. 3

    注意压缩是异步的,且不同浏览器效果有差异。

  4. 4

    建议设置 maxWidth/maxHeight 避免 Canvas 尺寸限制,并根据需求调整 quality 和 convertSize。

  5. 5

    若需支持 IE10+,需引入 polyfill。

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

MIT许可证明确允许免费使用、修改、分发和销售,仅需保留版权与许可声明。

使用时需要遵守

  • 保留原作者版权声明和 MIT 许可证声明。
  • 在所有副本或实质性部分中包含版权与许可声明

额外费用与待核对事项

  • README未提及额外授权限制,未确认第三方素材授权
查看原文依据

Permission is hereby granted, free of charge, to any person obtaining a copy

许可证原文

The above copyright notice and this permission notice shall be included in

许可证原文

Permission is hereby granted, free of char

许可证原文
https://github.com/fengyuanchen/compressorjs/blob/main/LICENSEhttps://github.com/fengyuanchen/compressorjs/blob/HEAD/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-09-24。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
JavaScript
网站类型
工具站
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-08-29
截图检查日期
2026-09-05

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 JavaScript。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

当前版本没有可核对的编辑审核记录;旧的应用时间不代表已完成事实审核。

这条历史介绍未保存固定版本的来源快照。请对照当前仓库,发现不一致可反馈。

反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。