
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Minify是一个用Go语言编写的高性能Web格式压缩工具包,支持HTML5、CSS3、JavaScript、JSON、SVG和XML等文件类型的压缩。其核心原理是通过移除冗余字节(如空白字符、注释、默认属性值等)而不改变文件输出内容,从而减小文件体积,加快网络传输速度和解析效率。该工具通过将MIME类型与压缩函数关联,可自动处理嵌入式资源(如HTML中的CSS或JS代码块),并允许用户基于MIME类型或正则表达式扩展自定义压缩器或集成外部命令(如Closure Compiler、UglifyJS等)。
<style>或<script>标签内容)。-w参数)和批量处理,方便集成到构建流程。m.Middleware)实现HTTP响应实时压缩(建议配合缓存使用以避免性能损耗)。从Docker Hub拉取官方镜像:
bashdocker pull docker.xuanyuan.run/tdewolff/minify
Minify Docker镜像内置CLI工具,基本使用语法如下:
bashdocker run --rm -v [本地目录]:/data docker.xuanyuan.run/tdewolff/minify minify [选项] [输入文件] -o [输出文件/目录]
参数说明
--rm:容器退出后自动清理,避免残留临时文件。-v [本地目录]:/data:将本地目录挂载到容器内/data路径,用于访问输入文件和输出结果。minify:容器内CLI工具名称,后续为具体压缩参数。-w:监控文件变更并自动重新压缩。-u:启用并发压缩(多文件处理时加速)。--help:查看所有支持的格式特定选项(如--html-keep-whitespace、--css-precision等)。1. 压缩单个HTML文件
将当前目录下的index.html压缩为index.min.html:
bashdocker run --rm -v $(pwd):/data docker.xuanyuan.run/tdewolff/minify minify /data/index.html -o /data/index.min.html
2. 压缩CSS并保留高精度数值
压缩style.css,设置CSS数值保留3位有效数字(默认0为不限制):
bashdocker run --rm -v $(pwd):/data docker.xuanyuan.run/tdewolff/minify minify --css-precision 3 /data/style.css -o /data/style.min.css
3. 监控JS文件变更
实时监控app.js,文件修改后自动压缩为app.min.js:
bashdocker run --rm -v $(pwd):/data docker.xuanyuan.run/tdewolff/minify minify -w /data/app.js -o /data/app.min.js
4. 批量压缩目录文件
并发压缩src/目录下所有JS文件,输出到dist/目录:
bashdocker run --rm -v $(pwd):/data docker.xuanyuan.run/tdewolff/minify minify -u /data/src/*.js -o /data/dist/
5. 集成外部压缩工具(如esbuild)
通过AddCmd配置使用esbuild压缩JS(需提前在容器内安装esbuild):
bash# 示例:通过自定义命令行调用esbuild(需确保容器内有esbuild可执行文件) docker run --rm -v $(pwd):/data docker.xuanyuan.run/tdewolff/minify sh -c "minify --js-cmd 'esbuild --minify' /data/app.js -o /data/app.min.js"
各压缩器支持精细化配置,可通过命令行参数调整,常见选项如下:
| 格式 | 常用选项示例 | 说明 |
|---|---|---|
| HTML | --html-keep-conditional-comments | 保留IE条件注释(如<!--[if IE 6]>) |
| CSS | --css-precision 2 | 数值保留2位有效数字(如1.00→1) |
| JS | --js-keep-var-names | 不缩短变量名(用于调试场景) |
| SVG | --svg-precision 1 | 路径数据数值保留1位小数 |
| JSON | --json-keep-numbers | 不压缩数字(如1000不转为1e3) |
通过docker run --rm tdewolff/minify minify --help可查看完整选项列表。
Minify在Thinkpad T460(i5-6300U 2.4GHz)上的基准测试结果(Go 1.15环境):
| 文件类型 | 典型文件示例 | 压缩速度 | 压缩率(越小越好) |
|---|---|---|---|
| HTML | ***页面 | 67.5MB/s | ~10% |
| CSS | Bootstrap.css | 50.7MB/s | 10%-15% |
| JS | jQuery.js | 24.8MB/s | 34%-65% |
| JSON | 大型缩进JSON | 234MB/s | ~15% |
| SVG | 复杂路径图形 | 12-42MB/s | 10%-30% |
相比传统工具(如UglifyJS、Terser),Minify在JS压缩速度上快10-100倍,且压缩率接近专业工具水平。
Minify基于MIT许可证开源,详细信息参见https://github.com/tdewolff/minify/blob/master/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务