Nativefier 命令速查表:20 个必备参数与实战案例

Nativefier 命令速查表:20 个必备参数与实战案例

【免费下载链接】nativefier 【免费下载链接】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

Google 应用设置详情

案例 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()));
    });
  }
}

Spotify 案例完整代码

案例 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 } }'

Outlook 配置详情

三、常见问题解决方案

视频无法播放

许多网站使用 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.mdCATALOG.md 源码地址:src/cli.ts

【免费下载链接】nativefier 【免费下载链接】nativefier 项目地址: https://gitcode.com/gh_mirrors/nat/nativefier

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值