用途:把一份 HTML 产物打包成单个自包含文件,所有 CSS、JS、图片都以内联 data URL 形式嵌入,生成可离线打开、无外部依赖的 HTML。底层使用 Rust 编写的 monolith CLI。
主要能力:内联全部资源;通过 --isolate 注入 CSP,阻止打包后加载任何远程资源;通过 --no-metadata 去除 <!-- saved from ... --> 元数据;保留交互性(React + Babel 仍在加载时运行),但网络请求按设计会失败。
使用方式:先检查是否安装 monolith(which monolith),若缺失则提示用户执行 brew install monolith(macOS)后重跑并停止。解析路径:$0 为输入 HTML(必填),$1 为输出 HTML(默认 <input>-standalone.html);必要时执行 mkdir -p $(dirname <output>)。运行 monolith "<input>" --isolate --no-metadata -o "<output>"。最后用 stat -f%z "<output>" 或 ls -la "<output>" 报告大小,输出类似“Bundled <input> → <output> (<size> KB). Works offline.”。
适用场景:需要单文件分发、放入邮件或聊天、不依赖 CDN、便于长期归档的场合。
限制:文件体积会增大(约为原始的 5-10 倍),无 HMR,字体常以 base64 内联导致更大;打包后网络请求会失败。其他平台安装方式暂未提供。