我已经搜索了一些,但找不到用于此的现有工具。
我有一个 Node.js Web 服务器,它设计为在您自己的计算机上运行,它可以为您做一些时髦的事情。如果我可以双击 MySnazzyThing.app
而不是安装 Node.js 和 npm 并在命令行上运行 node mysnazzyapp.js
,那就太棒了。
.app
可执行文件将启动 Node.js 服务器并打开一个简单的 native WebKit如果我在命令行上运行,窗口将显示 localhost:3000
上的正常情况。
然后,这个本地应用程序可以通过 Mac App Store 分发。 .还有 bam,一个 Node.js 桌面应用程序。
是否存在这样的工具?或者是否有任何技术原因导致这无法像我想象的那样工作?
最佳答案
选项 1:Electron (原原子壳)
这是 GitHub 的 Atom 的 shell和微软的Code编辑使用。它与 node-webkit 非常相似,尽管它会首先运行脚本,并且您必须为用户创建一个 View /窗口。还有一些其他的细微差别,但值得一看。
选项 2:NW.js以前的 node-webkit
要点是它基本上扩展了 JavaScript 引擎,让您编写支持 Node.js' 的基于 Web 的应用程序。扩展对象模型和模块...然后将 package.json start.html 模块和 JavaScript 文件打包成 ZIP 文件(扩展名为 .nw)并运行它与 nw(.exe) .. 有 Windows、Mac 和 Linux 版本可用。
选项 3:Neutralinojs Github
Neutralinojs 是一个轻量级和可移植的桌面应用程序开发框架。它允许您使用 JavaScript、HTML 和 CSS 开发轻量级跨平台桌面应用程序。您可以使用任何编程语言(通过扩展 IPC)扩展 Neutralinojs,并将 Neutralinojs 用作任何源文件的一部分(通过子进程 IPC)。
选项 4:MacGapNode (仅 OS X )
MacGap 与 Node.js 集成(它似乎变得陈旧)
Tauri 是一个工具包,可帮助开发人员为主要桌面平台制作应用程序 - 几乎可以使用任何现有的前端框架。核心是用 Rust 构建的,CLI 利用 Node.js 使 Tauri 成为一种真正的多语言方法来创建和维护出色的应用程序。
除此之外:服务...
我不能代表 OS X 作为一个 .App,但很可能在 Node.js 中创建一个后台服务安装并在桌面上创建一个“本地”站点的链接。大多数浏览器都可以选择不显示所有功能(我知道 Firefox 尤其如此)。
我知道您的问题特别针对 OS X,但在 Windows 中,您可以使用 NSSM 将任何东西作为服务运行,我已将它用于 Windows 中基于 Node.js 的服务。不过,我认为上面的其他一些选项会更好,具体取决于您的需求。
已删除:
- <罢工> nexe - 陈旧/未维护
- <罢工> AppJS - 替换为 DeskShell
- <罢工> DeskShell - 陈旧,网站离线
- <罢工> node-webkit - 重命名为 NW.js
- <罢工> XULRunner 项目停滞不前,而且非常落后。
- <罢工> Thrust ( Node Adapter ) - 已弃用/陈旧
- <罢工> Carlo Chrom(ium)来自 Node.js 的 shell。 - 未维护/陈旧
此答案为多个问题复制,这些引用主要是为了更新方便。
关于javascript - 将 Node.js Web 应用程序打包为普通桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6834537/