乐趣区

关于ide:27-万-Star这个开源工具把网页变成本地应用程序

【导语】:把 Web 页面变成本地利用的命令行工具。

简介

Nativefier 是一个命令行工具,能够以起码的配置轻松地为任何网站创立桌面应用程序,把 Web 页面变成本地利用的命令行工具。通过 Electron + Chromium 把网站包装老本地 .app、.exe 等可执行文件,反对运行在 Windows、macOS 和 Linux 操作系统上。

例如,为 WhatsApp Web 制作可执行文件,只须要运行以下命令:

nativefier 'web.whatsapp.com'

我的项目地址是:

https://github.com/nativefier…

装置

  • macOS 10.9 + Windows + Linux
  • Node.js >= 12.9 并且 npm >= 6.9
  • 可选依赖
    • 应用 ImageMagick 或 GraphicsMagick 来转换图标。确保 convert 和 identify 或 gm 在零碎门路 $PATH 中。
    • Wine 在非 Windows 平台下打包 Windows 应用程序。确保 wine 在零碎门路 $PATH 中。

而后,应用全局装置 Nativefier:

npm install -g nativefier

用法

要为 medium.com 创立本机桌面应用程序,只需执行以下命令:

nativefier "medium.com"

Nativefier 将默认设置应用程序名称以及许多其余选项。用户也能够笼罩这些选项。例如,要笼罩名称:

nativefier --name 'My Medium App' 'medium.com'

常见的命令行选项有以下这些:

-h, --help                     打印应用信息
-v, --version                  打印 nativefier 版本
-a, --arch <value>             构建时的指标处理器架构,ia32, x64, armv7l, arm64
-c, --conceal                  指定本地化应用程序中的源代码是否一并打包,默认为 false
-e, --electron-version <value> 指定 Electron 版本
-i, --icon <path>              指定应用程序图标
为 Windows 打包时,必须是 .ico 文件的门路。为 Linux 打包时,必须是 .png 文件的门路。为 macOS 打包时,如果装置了可选的依赖项,则必须是一个 .icns 或一个 .png 文件。如果有图像转换工具(iconutil,或 ImageMagick 的 conver + identify,或 GraphicsMagick 的 gm),Nativefier 将把 .png 主动转换为 .icns
-n, --name <value>             应用程序的名称,Linux 上应用时不要蕴含空格
--no-overwrite                 指定目标目录是否不应被笼罩,默认为 false
-p, --platform <value>         执行平台。默认为以后操作系统,也能够指定为 linux,windows,osx 或 mas
--portable                     使应用程序将用户数据(cookie、缓存等)存储在应用程序文件夹中
--always-on-top                应用程序启动时放弃在屏幕最上层
--background-color <string>    指定背景色彩,https://www.electronjs.org/docs/api/browser-window#setting-backgroundcolor
--bookmarks-menu <string>      定义书签菜单的 JSON 文件的门路,如:{
    "menuLabel": "&Music",
    "bookmarks": [
        {
            "title": "lofi.cafe",
            "url": "https://lofi.cafe/",
            "type": "link",
            "shortcut": "CmdOrCtrl+1"
        },
        {
            "title": "beats to relax/study to",
            "url": "https://www.youtube.com/watch?v=5qap5aO4i9A",
            "type": "link",
            "shortcut": "CmdOrCtrl+2"
        },
        {"type": "separator"},
        {
            "title": "RÜFÜS DU SOL Live from Joshua Tree",
            "type": "link",
            "url": "https://www.youtube.com/watch?v=Zy4KtD98S2c"
        }
    ]
}
--disable-context-menu         禁用上下文菜单
--disable-dev-tools            禁用 Chrome 开发者工具
--full-screen                  使打包的应用程序全屏启动
--height <value>               打包利用的高度,默认为 800px
--hide-window-frame            禁用窗口框架和控件
--max-height <value>           打包利用的最大高度,默认为无限度
--max-width <value>            打包利用的最大宽度,默认为无限度
--maximize                     使打包的应用程序最大化启动
--min-height <value>           打包利用的最小高度,默认为 0
-m, --show-menu-bar            是否应显示菜单栏
--single-instance              单例,避免应用程序屡次运行
--title-bar-style <value>      设置利用标题栏的款式
/* site.css */

/* header is draggable... */
header {-webkit-app-region: drag;}

/* but any buttons inside the header shouldn't be draggable */
header button {-webkit-app-region: no-drag;}

/* perhaps move some items out of way for the traffic light */
header div:first-child {
  margin-left: 100px;
  margin-top: 25px;
}
--x <value>                    打包应用程序窗口的 X 地位
--y <value>                    打包应用程序窗口的 Y 地位
--zoom <value>                 设置应用程序关上时要应用的默认缩放系数,默认为 1.0
--lang <value>                 设置语言,"fr", "en-US", "es" 等 

与 Docker 一起应用

Nativefier 也能够在 Docker 中应用。

  • 从 Docker Hub 拉取最新的稳固镜像:
docker pull nativefier/nativefier
  • 或者本人构建镜像:
docker build -t local/nativefier .
  • 应用 docker 构建本地利用:
docker run --rm -v ~/nativefier-apps:/target/ local/nativefier https://mail.google.com/ /target/

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

退出移动版