Nativefier 命令速查表:20 个必备参数与实战案例
【免费下载链接】nativefier 项目地址: https://gitcode.com/gh_mirrors/nat/nativefier
你还在为网页应用转桌面程序而烦恼?Nativefier 让这个过程变得简单!本文整理了 20 个最常用的命令参数,并提供实战案例,帮助你快速上手,将任何网页转化为功能完善的桌面应用。读完本文,你将能够:掌握核心参数用法、解决常见问题、定制专属桌面应用。
一、核心参数速查
基础设置参数
| 参数 | 缩写 | 描述 | 示例 |
|---|---|---|---|
--name | -n | 设置应用名称 | --name "MyApp" |
--icon | -i | 指定应用图标路径 | --icon ./app-icon.png |
--width | 无 | 设置窗口宽度 | --width 1280 |
--height | 无 | 设置窗口高度 | --height 800 |
--platform | -p | 指定目标平台 | --platform linux |
--arch | -a | 指定架构 | --arch x64 |
窗口控制参数
| 参数 | 描述 | 示例 |
|---|---|---|
--always-on-top | 窗口置顶 | --always-on-top |
--full-screen | 全屏启动 | --full-screen |
--maximize | 最大化窗口 | --maximize |
--hide-window-frame | 隐藏窗口边框 | --hide-window-frame |
--tray | 系统托盘支持 | --tray true |
高级功能参数
| 参数 | 描述 | 示例 | |
|---|---|---|---|
--inject | 注入 CSS/JS 文件 | --inject style.css | |
--user-agent | -u | 设置用户代理 | --user-agent firefox |
--widevine | 启用 Widevine DRM | --widevine | |
--internal-urls | 内部链接正则 | --internal-urls ".*?example.com.*?" | |
--disable-dev-tools | 禁用开发者工具 | --disable-dev-tools |
二、实战案例解析
案例 1:创建 Google 应用
Google 应用需要特别设置用户代理,否则可能无法登录或接收通知。
nativefier 'https://docs.google.com/spreadsheets' \
--name "Google Sheets" \
--user-agent firefox \
--width 1200 \
--height 800
案例 2:Spotify 音乐应用
Spotify 需要 Widevine 支持和自定义注入脚本以正常工作。
nativefier 'https://open.spotify.com/' \
--name "Spotify" \
--widevine \
--inject spotify.js \
--inject spotify.css
其中 spotify.js 用于处理服务 worker 问题:
function nukeWorkers() {
if ('serviceWorker' in navigator) {
caches.keys().then(function (cacheNames) {
cacheNames.forEach(function (cacheName) {
caches.delete(cacheName);
});
});
navigator.serviceWorker.getRegistrations().then((registrations) => {
registrations.forEach((worker) => worker.unregister().then(() => reload()));
});
}
}
案例 3:Outlook 邮件客户端
Outlook 需要特殊配置以支持邮件编辑和文件下载。
nativefier 'https://outlook.office.com/mail' \
--internal-urls '.*?(outlook.live.com|outlook.office365.com).*?' \
--file-download-options '{"saveAs": true}' \
--browserwindow-options '{"webPreferences": { "webviewTag": true, "nodeIntegration": true } }'
三、常见问题解决方案
视频无法播放
许多网站使用 DRM 保护视频内容,需要启用 Widevine:
nativefier 'https://www.udemy.com/' \
--widevine \
--name "Udemy"
注意:使用 Widevine 可能需要对应用进行签名,具体方法参见 API 文档。
窗口大小记忆
默认情况下,Nativefier 不会记忆窗口大小和位置,可通过注入脚本解决:
nativefier 'https://open.google.com/' \
--inject window.js
window.js 内容:
function storeWindowPos() {
window.localStorage.setItem('windowX', window.screenX);
window.localStorage.setItem('windowY', window.screenY);
}
window.moveTo(window.localStorage.getItem('windowX'), window.localStorage.getItem('windowY'));
setInterval(storeWindowPos, 250);
应用图标设置
使用 --icon 参数指定图标,不同平台需要不同格式:
- Windows: .ico
- macOS: .icns
- Linux: .png
图标转换脚本可参考 icon-scripts/ 目录下的工具。
四、参数组合示例
完整的应用创建命令
nativefier 'https://web.othermessagingplatform.com' \
--name "MessagingApp" \
--icon ./app-icon.png \
--width 800 \
--height 600 \
--always-on-top \
--disable-dev-tools \
--inject custom-styles.css \
--tray start-in-tray \
--user-agent firefox
这个命令将创建一个名为 MessagingApp 的桌面应用,具有置顶功能、自定义图标和系统托盘支持,并注入自定义 CSS 样式。
应用升级命令
nativefier --upgrade /path/to/existing/app
使用 --upgrade 参数可以升级已有的 Nativefier 应用,保留原有设置。升级功能实现
五、总结
Nativefier 提供了丰富的命令行参数,让你能够轻松将任何网页转换为功能完善的桌面应用。通过本文介绍的 20 个必备参数和实战案例,你可以快速上手并定制自己的专属应用。无论是基础设置还是高级功能,Nativefier 都能满足你的需求。
官方文档:API.md、CATALOG.md 源码地址:src/cli.ts
【免费下载链接】nativefier 项目地址: https://gitcode.com/gh_mirrors/nat/nativefier
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



