真正能一键压缩 HTML/CSS/JS 的方案只有三个:HTML-CSS-JS Prettify(需显式触发压缩或配置 compress)、自建 Build System 调用 terser/clean-css-cli(路径必须绝对)、或使用 ST4 原生兼容的 JsCompress/CSSCompressor;JSON 压缩须用 JSON-aware 工具如 JSON Reindent 或 prettier,不可用简单删空格操作。

别折腾 Minify 插件了——它在 Sublime Text 4 上根本跑不起来,装了也大概率静默失败或报 AttributeError: module 'sublime' has no attribute 'version'。真正能一键压缩 HTML/CSS/JS 的方案只有三个:用 HTML-CSS-JS Prettify 开压缩模式、自建 Build System 调 terser/clean-css-cli、或换用 JsCompress/CSSCompressor 这类 ST4 原生兼容插件。
HTML-CSS-JS Prettify 压缩不生效?检查 compress 配置
这个插件名字带“Prettify”,但默认只格式化,不压缩。右键选 Prettify Code 出来的还是带空格和换行的代码。
- 必须显式触发压缩:选中代码 → 右键 →
HTML/CSS/JS Prettify→Prettify Code (Minify),或快捷键Ctrl+Shift+H(Win/Linux)/Cmd+Shift+H(Mac)后按m - 想全局默认压缩?打开
Preferences → Package Settings → HTML-CSS-JS Prettify → Settings,加这两行:
{
"css": {"compress": true},
"js": {"compress": true}
}
注意:compress 对 HTML 不生效(该插件不压缩 HTML),且 /*! license */ 注释默认保留;如需删掉,得额外配 "remove_comments": true。
Build System 调 terser/clean-css-cli:路径必须绝对
Sublime 的构建环境不继承 shell 的 PATH,写 "cmd": ["terser", ...] 必然报 command not found。
- 先在终端运行
which terser或which clean-css,拿到真实路径,比如/usr/local/bin/terser或/Users/xxx/.nvm/versions/node/v20.15.0/bin/clean-css - 新建 Build System(
Tools → Build System → New Build System…),粘贴时把cmd中的命令替换成完整路径 - JS 压缩示例(仅当前文件):
{
"shell_cmd": "/usr/local/bin/terser \"${file}\" -o \"${file_path}/${file_base_name}.min.js\" --compress --mangle"
}
CSS 同理,把 terser 换成 clean-css 路径,并调整参数。没装 CLI 工具?先 npm install -g terser clean-css-cli。
JsCompress / CSSCompressor:ST4 原生支持,右键即用
这两个插件专为 Sublime Text 4 维护,不依赖外部 CLI,也不吃 Node 环境,安装完就能右键压缩,适合离线或权限受限场景。
- 通过 Package Control 安装
JsCompress或CSSCompressor,无需额外配置 - 右键菜单直接出现
JsCompress/CSSCompressor,点一下生成.min.js或.min.css - 支持保留 license 注释、生成 sourcemap、调节压缩等级(如
--compress passes=2),但不处理import/export模块语法——它只压缩,不打包
JSON 压缩不能靠“删空格”:必须用 JSON-aware 插件
别用 Edit → Line → Join Lines 或 Convert Indentation → Remove Whitespace 压 JSON——它们会破坏字符串内换行,把 "msg": "hello\nworld" 变成 "msg":"helloworld"。
- 推荐安装
JSON Reindent或JsPrettier(配prettier_cli_path指向prettier),然后选中 JSON → 右键 →JSON Reindent→Minify JSON - 或者用 Build System 调
prettier:确保已装npm install -g prettier,再建系统,cmd设为prettier --parser json --write并指定输入输出 - 所有 JSON 压缩操作前,务必确认文件已保存且语法合法——插件不会帮你修复
trailing comma或未闭合引号
真正容易被忽略的是:没有“万能压缩插件”。HTML 用 HTML-CSS-JS Prettify,JS/CSS 用 terser 或 JsCompress,JSON 必须走 prettier 或专用解析器——混用或强求单插件覆盖全部,只会反复踩坑。


















