压缩 JavaScript 代码,移除空白、注释和冗余字节。
将 JavaScript 文件拖到这里,或选择文件导入。
通过审查优先的工作流程安全地缩小 JavaScript,以便您可以减少有效负载大小,同时保留跨捆绑程序、浏览器和 CI 管道的运行时行为。
它通过删除非必要的空格和注释来压缩 JavaScript,生成适合传送资产、片段和嵌入式脚本的紧凑输出。
它提供可控的本地缩小步骤,便于在错误分类、版本审查或合作方交接时快速比较代码前后差异。
它有助于尽早公开语法和转换假设,以便团队可以在部署之前捕获格式错误的输入、不受支持的构造或意外的复制工件。
实用函数片段
function normalize(v) { return Array.isArray(v) ? v.filter(Boolean) : [v].filter(Boolean) }类似模块的代码
const cache = new Map(); export function get(id){ if(cache.has(id)) return cache.get(id); }事件重现样本
/* repro */ const flag = true; if(flag){ console.log('deploy-check') }缩小结果
function normalize(v){return Array.isArray(v)?v.filter(Boolean):[v].filter(Boolean)}分号保留样式
const cache=new Map;export function get(id){if(cache.has(id))return cache.get(id)}验证前/后注释
通过 CI 压缩器运行相同的输入并比较差异以确认奇偶性。
输入包含非 JavaScript 文本
确认粘贴的有效负载是纯 JavaScript,并删除 shell 提示、HTML 包装器或 Markdown 代码围栏。
缩小输出与捆绑器输出不同
检查捆绑器插件/转换(Babel、SWC、terser 配置)并比较环境之间的功能标志。
缩小后出现意外的运行时错误
首先验证语法,然后隔离最小的失败片段并测试严格模式/模块差异。
此步骤预期的源映射
使用源映射的构建管道;该工具旨在用于快速有效负载和语法验证。
JavaScript 压缩器 应作为交付流程中的快速校验步骤,在提交、发布和交接前都建议执行一次。
我什么时候应该使用它而不是捆绑器缩小?
使用它来快速验证和调试循环;保留完整构建管道生成的最终版本工件。
这可以检测压缩引入的语义更改吗?
它可以揭示明显的语法和输出差异,但您仍然应该运行测试来验证行为和副作用。
为什么要比较同一文件的两个压缩器?
差异可以暴露仅在一种环境中出现的配置漂移、不受支持的语法转换或插件顺序问题。
这适合大型生产包吗?
将其用于目标片段和诊断;通过专用构建工具和分析可以更好地处理非常大的包。