# JSCompressBench **Repository Path**: qiushaocloud/js-compress-bench ## Basic Information - **Project Name**: JSCompressBench - **Description**: 这是一个使用真实压缩引擎的 JavaScript 代码压缩工具对比分析系统,不是模拟效果,而是每次压缩都使用实际的压缩工具进行真实压缩。 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.qiushaocloud.top - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-12 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaScript 压缩工具真实压缩对比分析 这是一个使用真实压缩引擎的 JavaScript 代码压缩工具对比分析系统,不是模拟效果,而是每次压缩都使用实际的压缩工具进行真实压缩。 ## 🚀 功能特点 - **真实压缩引擎**:使用 Terser、UglifyJS、Google Closure Compiler、SWC、esbuild 等真实压缩工具 - **实时性能对比**:显示真实的压缩率、压缩时间和文件大小对比 - **多种代码预设**:提供不同复杂度的代码示例进行测试 - **Web界面**:直观的可视化界面,支持实时编辑和压缩 - **批量对比**:一键对比所有压缩工具的效果 ## 📦 安装和启动 ### 1. 安装依赖 ```bash npm install ``` ### 2. 启动服务器 ```bash npm start ``` 服务器将在 http://localhost:3000 启动 ### 3. 访问工具 打开浏览器访问:http://localhost:3000/index.html ## 🔧 使用的压缩工具 | 压缩工具 | 特点 | 速度 | 压缩率 | |----------|------|------|--------| | **Terser** | ES6+支持良好,Webpack默认 | 中等 | 高 | | **UglifyJS** | 经典压缩工具 | 较慢 | 中等 | | **Google Closure** | 最高压缩率 | 最慢 | 最高 | | **SWC** | Rust编写,超快 | 快 | 高 | | **esbuild** | Go编写,极速 | 最快 | 中等 | ## 🎯 使用方法 ### 基本使用 1. 在左侧文本框输入或编辑JavaScript代码 2. 选择要使用的压缩工具 3. 点击"压缩当前"查看单个工具的压缩效果 4. 点击"全部对比"查看所有工具的效果对比 ### 代码预设 - **简单示例**:基础的阶乘和斐波那契函数 - **复杂示例**:包含类定义和复杂逻辑的代码 - **ES6示例**:现代JavaScript语法特性的代码 ### 查看结果 每个压缩结果会显示: - 原始文件大小 - 压缩后文件大小 - 压缩率(百分比) - 压缩耗时(毫秒) - 压缩后的代码内容 ## 📊 性能指标 系统会测量以下真实性能指标: - **压缩时间**:从提交代码到返回压缩结果的完整时间 - **压缩率**:(原始大小 - 压缩后大小) / 原始大小 × 100% - **文件大小**:使用字节精确计算 - **错误处理**:显示压缩过程中的真实错误信息 ## 🔍 技术架构 ### 后端 - **Node.js + Express**:提供RESTful API - **真实压缩引擎**: - Terser 5.19.2 - UglifyJS 3.17.4 - Google Closure Compiler 20230802 - SWC 1.3.78 - esbuild 0.19.2 ### 前端 - **纯HTML/CSS/JavaScript**:无框架依赖 - **响应式设计**:适配不同屏幕尺寸 - **实时API调用**:通过AJAX与后端通信 ## 📁 项目结构 ``` 代码压缩工具/ ├── server.js # Express服务器 ├── package.json # 项目配置 ├── index.html # 真实压缩工具界面 └── README.md # 本说明文档 ``` ## 🚨 注意事项 1. **服务器要求**:需要Node.js 14+版本 2. **Java依赖**:Google Closure Compiler需要Java运行环境(可选安装) 3. **内存使用**:Google Closure Compiler可能占用较多内存 4. **网络延迟**:压缩时间包括网络传输时间 5. **错误处理**:压缩错误会显示具体的错误信息 ### 🔧 Java安装(可选) Google Closure Compiler需要Java运行环境。如果您想使用它: 1. **macOS安装**: ```bash brew install openjdk@17 ``` 2. **验证安装**: ```bash java -version ``` 3. **查看安装指南**:参考 `INSTALL.md` 文件 如果不安装Java,其他4个压缩工具仍可正常使用。 ## 🔄 更新日志 - **v1.0.0**:实现真实压缩引擎对比功能 - **v0.1.0**:原始模拟版本 ## 📝 开发建议 如果需要扩展功能,可以考虑: - 添加更多压缩工具(如babel-minify) - 支持压缩配置自定义 - 添加代码语法检查 - 实现批量文件压缩 - 添加压缩历史记录 ## 📞 问题反馈 如果遇到问题,请检查: 1. 服务器是否正常运行(npm start) 2. 浏览器控制台是否有错误信息 3. 网络连接是否正常 4. 代码是否包含语法错误 --- **注意**:这是一个真实工具,所有压缩结果都是使用对应压缩引擎的实际输出,非模拟数据。