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