nativefier是唯一无需编写js主进程代码、产物仅8–12mb、复用系统chromium、满足32gb emmc设备轻量打包需求的html转桌面应用方案。

存储空间紧张时,别碰 Electron、VS Code 全量安装包或带 WebView2 的 C# 封装工具——它们单个输出目录就动辄 100MB 起。真正能塞进 32GB eMMC 硬盘(比如老旧 Chromebook、教育平板、树莓派 SD 卡)的 HTML 打包方案,必须满足:打包产物 ≤ 15MB、无运行时依赖、不写注册表、不拖拽 Node.js 运行时。
Nativefier 命令行打包(适合 Windows/macOS/Linux,产物约 8–12MB)
Nativefier 是目前唯一能在不写一行 JS 主进程代码的前提下,把 index.html 打成独立可执行文件的轻量方案。它复用系统已安装的 Chromium(Windows/macOS)或预装的 libchromiumcontent(Linux),避免重复打包浏览器内核。
- 执行
nativefier --name "MyApp" --no-sandbox --disable-gpu ./index.html,默认生成含最小化 Chromium 的文件夹 - 删掉输出目录中
resources/app.asar.unpacked下的node_modules(若存在),可再省 2–3MB - Windows 上用
upx --best MyApp.exe压缩主程序(UPX 支持 x64,压缩率约 35%,但需测试启动是否正常) - 禁用
--tray、--hide-window-frame等非必要功能,避免额外加载 Electron 模块
PyInstaller + Flask 极简封装(适合 Python 已预装环境,产物可压至 6–9MB)
如果你的设备已装有 Python(如树莓派 Raspbian、教育版 Linux 终端),这个方案比 Nativefier 更可控:不捆绑 Chromium,只起一个微型 HTTP 服务,靠系统默认浏览器打开 localhost。
- 写一个 30 行以内的
app.py:用Flask的send_from_directory直接服务./static/下的 HTML/CSS/JS - 执行
pyinstaller --onefile --noconsole --add-data "static;static" app.py,生成单文件 - 用
pip install --no-deps flask避免打包 Werkzeug、Jinja2 等冗余依赖(Flask 2.3+ 可选依赖已解耦) - 最终产物体积取决于 Python 版本:CPython 3.9 运行时 + Flask 约 5.2MB;换成
micropython不适用,它不支持subprocess启动浏览器
html-minifier-terser + 静态托管(零打包,仅 HTML 文件本身,体积常 ≤ 200KB)
所谓“打包”,本质是解决“双击即运行”问题。但如果你能接受双击打开浏览器(哪怕只是 Edge/Chrome 快捷方式指向本地 file:// 路径),那最省空间的方式就是——根本不打包,只压缩 HTML 本身,并确保它自包含。
- 用
html-minifier-terser的 CLI 模式处理:npx html-minifier-terser --collapse-whitespace --remove-comments --minify-js --minify-css --output index.min.html index.html - 所有 CSS/JS 必须外链(不能
<style></style>或<script></script>内联),否则压缩后仍会膨胀;图标改用系统字体(如<i class="icon-home"></i>)而非 base64 - 禁用
--remove-empty-attributes:否则<input disabled>会被删成<input>,行为错乱 - 压缩后的
index.min.html加上配套的style.css和main.js,三者总大小通常在 150–200KB 区间,远低于任何打包工具的运行时开销
最容易被忽略的一点:Nativefier 和 PyInstaller 产出的可执行文件,首次运行时会在用户目录下生成缓存(如 %LOCALAPPDATA%\MyApp\Cache 或 ~/.cache/MyApp),这些缓存不计入打包体积,但会悄悄吃掉你本就不多的剩余空间——建议在启动脚本里加一句 rm -rf ~/.cache/MyApp 或对应 Windows 清理逻辑。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











