javascript - 将 Node.js Web 应用程序打包为普通桌面应用程序

标签 javascript macos node.js desktop-application

我已经搜索了一些,但找不到用于此的现有工具。

我有一个 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 集成(它似乎变得陈旧)


选项 5:Tauri Github

Tauri 是一个工具包,可帮助开发人员为主要桌面平台制作应用程序 - 几乎可以使用任何现有的前端框架。核心是用 Rust 构建的,CLI 利用 Node.js 使 Tauri 成为一种真正的多语言方法来创建和维护出色的应用程序。


除此之外:服务...

我不能代表 OS X 作为一个 .App,但很可能在 Node.js 中创建一个后台服务安装并在桌面上创建一个“本地”站点的链接。大多数浏览器都可以选择不显示所有功能(我知道 Firefox 尤其如此)。

我知道您的问题特别针对 OS X,但在 Windows 中,您可以使用 NSSM 将任何东西作为服务运行,我已将它用于 Windows 中基于 Node.js 的服务。不过,我认为上面的其他一些选项会更好,具体取决于您的需求。


已删除:


此答案为多个问题复制,这些引用主要是为了更新方便。

关于javascript - 将 Node.js Web 应用程序打包为普通桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6834537/

相关文章:

macos - MAC OS Xcode Swift 2.2 将 NSImage 转换为 CIImage

macos - 如何从 R 中运行 OSX 终端命令?

javascript - Node 错误: Cannot find module './lib/querystring'

javascript - 如何将已声明的 JavaScript 函数指向变量

javascript - 如何删除表单中的复选框

objective-c - 如何使用quicklook插件分发App

javascript - 无法确定任何并发

javascript - 我无法使用 d3.js 在 3d 圆环图中添加放置标签

javascript - Javascript 数据中的 XSS

javascript - 如何将多个中间件功能包装成一个?