使用Netivefier将网页打包成windows应用程序

Nativefier是一个命令行工具,仅仅通过一行代码就可以轻松地为任何的网站创建桌面应用程序,应用程序通过 Electron 打包成系统可执行文件(如.app, .exe等),可以运行在Windows,Mac和Linux系统上。

由于Natvivefier需要安装node.js等环境依赖,因此本文采用docker方式打包,无需安装环境依赖,只需要有docker环境即可。

1. 准备工作

首先,确保已安装 Docker,它可以帮助我们在容器中运行应用程序,实现环境的隔离和便携性。

2. 使用 Nativefier 打包网页

我们将使用 Docker 运行 Nativefier,以确保环境的一致性和便携性。下面是打包网页的命令示例:

docker run --rm -v ~/nativefier-apps:/target/ --user $(id -u):$(id -g) nativefier/nativefier "https://example.com/" "/target/" -n "MyApp" -p "win32" -a "x64" --portable

上面命令的参数解释如下:

  • `-v ~/nativefier-apps:/target/`:将本地目录 `~/nativefier-apps` 挂载到容器内的 `/target/` 目录,用于存储打包的应用程序。
  • `--user $(id -u):$(id -g)`:使用与主机用户相同的用户身份运行容器内的命令。
  • `nativefier/nativefier`:使用 Nativefier 镜像运行容器。
  • `"https://example.com/"`:要打包的网页 URL。
  • `"/target/"`:生成的应用程序输出目录。
  • `-n "MyApp"`:指定应用程序的名称。
  • `-p "win32" -a "x64"`:指定打包的平台和 CPU 架构。
  • `--portable`:使应用程序可便携,即用户数据存储在应用程序文件夹中。

请根据实际情况修改命令中的参数,例如要打包的网页 URL、应用程序名称和输出目录。

如果出现创建目录权限不够的问题,请使用`--privileged`参数为容器添加特权:

docker run --rm --privileged -v ~/nativefier-apps:/target/ nativefier/nativefier "https://example.com/" "/target/" -n "MyApp" -p "win32" -a "x64" --portable

当然,有时候打包时会遇到网络问题,需要设置代理,也可以通过添加代理,加速容器内的依赖下载速度:

docker run --rm --privileged -v ~/nativefier-apps:/target/ -e HTTP_PROXY="http://your.proxy.server:7890" -e HTTPS_PROXY="http://your.proxy.server:7890" nativefier/nativefier "https://example.com/" "/target/" -n "MyApp" -p "win32" -a "x64" --portable

3. 打包过程和结果

执行上述命令后,Nativefier 将在容器内自动下载和安装所需的依赖,并开始打包过程。打包过程可能需要一些时间,具体取决于网络速度和系统性能。

一旦打包完成,将在指定的输出目录中找到生成的可执行文件和相关文件。现在可以直接双击打包后的可执行文件,运行该APP了。

4. 一些例子

打包Poe:

docker run --rm --privileged -v ~/nativefier-apps:/target/ -e HTTP_PROXY="http://your.proxy.server:7890" -e HTTPS_PROXY="http://your.proxy.server:7890" nativefier/nativefier "https://poe.com/" "/target/" -n "Poe" -p "win32" -a "x64" --portable --proxy-rules "http=your.proxy.server:7890;https=your.proxy.server:7890" --single-instance

打包ChatBox:

docker run --rm --privileged -v ~/nativefier-apps:/target/ -e HTTP_PROXY="http://your.proxy.server:7890" -e HTTPS_PROXY="http://your.proxy.server:7890" nativefier/nativefier "https://web.chatboxai.app/" "/target/" -n "ChatBox" -p "win32" -a "x64" --portable --single-instance

打包ChatWeb:

docker run --rm --privileged -v ~/nativefier-apps:/target/ -e HTTP_PROXY="http://your.proxy.server:7890" -e HTTPS_PROXY="http://your.proxy.server:7890" nativefier/nativefier "https://xqdoo00o.github.io/chatgpt-web/" "/target/" -n "ChatGPT" -i "/target/icon.png" -p "win32" -a "x64" --portable --single-instance

5. 结语

使用 Docker 和 Nativefier,我们可以轻松地将网页打包为可执行文件。这种方法具有环境隔离和便携性的优势,并且可以根据需求进行自定义配置。

评论

Hoopan说…
不错,如果能打包安卓、IOS就更强了

Popular Posts

快乐来自于做出「舍弃」的能力

如何提高情商(EQ)

SolveigMM Video Splitter - 无损视频编辑工具(视频剪辑,合并等)

地方门户网站项目可行性分析

小清新必须死

南京话的文化杂文一篇

《请回答1988》 응답하라 1988 Reply 1988

《挪威的森林》精彩篇章:永远记得我

POPSLoader v3 - PSP模拟PS游戏解决黑屏用的加载插件

树立正确的人生态度