在线格式化、美化与压缩 JavaScript 代码,可自定义缩进并校验括号配对
JS 格式化压缩工具:把压缩或混乱的 JavaScript 一键排版成层次清晰的代码,或压缩成体积更小的一行,适合阅读第三方脚本、整理历史代码与发布前端资源,与站内的 HTML、CSS 格式化工具成套使用。
格式化基于 js-beautify 的官方 Python 移植,能正确处理正则字面量(/ab+c/i 不会被当成分除号)、模板字符串(含 ${} 插值)、箭头函数、class、解构等现代语法;缩进可选 2 或 4 空格,注释与字符串内容原样保留。
压缩基于 jsmin(jsmin.c 的 Python 移植):只删除注释与无意义空白,不改写语法结构,因此不会出现「压缩后代码跑不起来」的情况;/*! 开头的许可证注释会保留。另外提供「仅校验括号配对」,可定位未闭合或错配的括号、字符串、模板与注释。
一般不会。压缩只删除注释与不必要的空白,不改写语法、不重命名变量(不做混淆),因此不会改变执行结果。/*! 开头的许可证注释会保留。如果代码依赖换行做自动分号插入(ASI),压缩后可能出问题(例如 return 后直接换行),建议先格式化再加上分号。
可以。格式化会区分正则字面量与除号(如 /ab+c/i 与 a / b),模板字符串中的 ${} 插值与内部空格也会完整保留。压缩时由于所用引擎不识别模板字符串,工具会先把模板整体保护起来、压缩后再原样回填,避免出现 `a b` 被压成 `a b` 这类改变字符串内容的问题。
压缩只去掉空白与注释,变量名、函数名保持不变,可读性虽差但结构完整,出错也容易定位;混淆会重命名变量、改写结构,体积更小但几乎不可读,也更容易踩坑。本工具做的是安全的压缩,不做混淆。
目前支持 2 空格与 4 空格两档(前端最常见的两种约定,Prettier 默认 2 空格)。如需 Tab 缩进,可先格式化后在编辑器中把缩进转换为 Tab。
能查出未闭合或多余的圆括号、方括号、花括号,以及错配(如 ( 被 ] 关闭);同时会检查字符串、模板字符串与块注释是否闭合,并给出所在行号。它不做完整的语法检查,想确认语法是否正确请在浏览器控制台或 Node 中执行。
支持 ES6+ 常见语法(箭头函数、class、模板字符串、解构、async/await 等)。TypeScript 的类型标注不在标准 JS 语法内,直接格式化可能不理想,建议先用构建工具把 TS 编译为 JS 后再处理。