# JavaScript 压缩器

压缩 JavaScript 代码

> 标准页面: https://elysiatools.com/zh/tools/javascript-minifier

- **分类:** Development

- **关键词:** javascript, 压缩器, 压缩, 精简, uglify, 优化

## 概述

JavaScript 压缩器是一款高效的开发辅助工具，旨在通过移除代码中的多余空格、换行符及注释，并进行变量名混淆，从而显著减小 JavaScript 文件体积，提升网页加载速度与性能。

## 输入项

- **JavaScript 代码** (textarea): Enter JavaScript code to minify...
- **压缩级别** (select)
- **混淆名称** (checkbox)
- **保留注释** (checkbox)
- **ECMA 版本** (select)

## 适用场景

- 在将前端项目部署到生产环境之前，需要减小 JS 文件大小以优化加载速度。
- 需要保护源代码逻辑，通过混淆变量名增加代码被直接阅读的难度。
- 在带宽受限的环境下，通过精简代码体积来降低服务器流量消耗。

## 工作原理

- 将原始 JavaScript 代码粘贴到输入框中。
- 根据需求选择压缩级别、ECMA 版本，并决定是否开启变量混淆或保留注释。
- 点击压缩按钮，工具将自动解析代码并生成精简后的版本。
- 复制压缩后的代码并替换原有的 JS 文件。

## 使用案例

- 前端项目上线前的代码构建与体积优化。
- 为嵌入式设备或低带宽环境准备轻量级脚本。
- 在不使用复杂构建工具的情况下，快速处理单文件 JS 脚本。

## 常见问题

### 压缩后的代码还能阅读吗？

压缩后的代码通常会移除格式并混淆变量名，虽然功能完全一致，但可读性会大幅降低。

### 混淆名称（Mangle）有什么作用？

混淆名称会将长变量名缩短为单个字符，进一步减小文件体积并增加代码逆向难度。

### 我可以保留代码中的特定注释吗？

可以，勾选“保留注释”选项即可在压缩过程中保留代码中的注释内容。

### 该工具支持哪些 ECMA 版本？

支持从 ES5 到最新的 ES2024 版本，您可以根据项目的兼容性需求进行选择。

### 压缩会改变代码的运行逻辑吗？

不会，该工具仅进行语法层面的精简与优化，确保代码逻辑在压缩前后保持完全一致。

## 相关工具

- [CSS 压缩器](https://elysiatools.com/zh/tools/css-minifier): 压缩 CSS 代码
- [HTML 压缩器](https://elysiatools.com/zh/tools/html-minifier): 通过移除注释、折叠空白并压缩内联 CSS/JS 来压缩 HTML
- [JSON 压缩器](https://elysiatools.com/zh/tools/json-minifier): 移除 JSON 中所有多余空白，压缩 JSON 数据
- [SQL 查询格式化器 & 压缩器](https://elysiatools.com/zh/tools/sql-query-formatter): 美化或压缩 SQL，完全可控 SQL 方言（PostgreSQL、MySQL、SQLite、SQL Server/T-SQL、BigQuery、Snowflake 等）、关键字/标识符/函数大小写、缩进风格（标准、左对齐表格、右对齐表格）以及语句间空行。输出带语法高亮、可直接复制的结果，并显示大小与语句数统计。
- [文本压缩器](https://elysiatools.com/zh/tools/text-compressor): 通过移除多余空格、换行和不必要的空白来压缩文本，同时保留内容结构
- [ISO 8601 时长构造器](https://elysiatools.com/zh/tools/iso-8601-duration-builder): 在自然语言时长与 ISO 8601 时长（PnYnMnDTnHnMnS）之间双向转换，并校验边界情况
- [JavaScript混淆器](https://elysiatools.com/zh/tools/javascript-obfuscator): 使用 javascript-obfuscator 混淆代码，增强保护和抗逆向
- [cURL 转 JavaScript (axios)](https://elysiatools.com/zh/tools/curl-to-js-axios): 将 cURL 命令转换为 JavaScript axios 代码片段，使用配置对象、请求头和数据

## 示例

- [Rome JavaScript 工具链示例](https://elysiatools.com/zh/samples/rome): Rome JavaScript 工具链示例，包括配置、代码检查、格式化、打包和项目管理
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换

## 相关内容

- [代码与标记压缩、美化与格式化工具](https://elysiatools.com/zh/hubs/code-minify-beautify-format-tools): 在一个 hub 里压缩与美化 CSS、HTML、JavaScript、JSON、SQL、XML、YAML、TOML、SVG 与 VBA，检查 Markdown 与邮件 HTML，并跨语言格式化代码，服务于生产打包与代码评审。
- [数组与列表操作工具](https://elysiatools.com/zh/hubs/array-and-list-manipulation-tools): 在一个 hub 里分析、去重、排序、洗牌、切片、展平、分组、过滤、采样并转换数组与列表——还支持并集、交集、差集等集合运算，服务于数据与代码准备。
- [文本脱敏、高亮与展示格式化工具](https://elysiatools.com/zh/hubs/text-format): 在一个专题中比较文本脱敏、PII 检测、电话号码规范化、重点高亮、居中排版和 diff 格式化工具。
- [JSON 格式化、对比与规范化工具](https://elysiatools.com/zh/hubs/json-format): 在一个专题中比较 JSON 格式化、差异对比、日志审查、配置比较和数据规范化工具，适合需要让 JSON 更易读、更易审查的流程。
