20

我想为我们的开发人员用来管理他们的开发环境的一系列终端命令构建一个界面。我想尝试在 Node.js 中构建它。

现在,我想我可以使用Express.js等将其创建为 HTML5/CSS 3/JavaScript 应用程序......然后想将其打包为原生 OS X 应用程序。意思是,一个我可以发送给他们的应用程序,他们双击并运行,但是要么启动 Chrome 浏览器并导航到 localhost:port 服务器,该服务器命中脚本,要么只是启动服务器并指示用户转到网址。无论哪种方式都很好。

我这样做是因为我需要访问本地系统才能配置许多东西并与任意数量的运行(无头虚拟机)交互。所以我不能简单地从服务器上提供这个并让他们访问该站点。

有任何想法吗?

4

5 回答 5

16

选项 1:电子(以前的 atom-shell)

这是 GitHub 的Atom和 Microsoft 的代码编辑器使用的 shell。它与 node-webkit 非常相似,尽管它会首先运行脚本,并且您必须为用户创建一个视图/窗口。还有一些其他的细微差别,但值得一看。


选项 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 的服务。我认为根据您的需要,上面的其他一些选项会更好。


删除:


此答案针对多个问题复制,这些参考主要是为了更新方便。

于 2015-01-07T23:43:53.947 回答
10

这是关于安装程序 (.pkg) 主题的截屏视频 + 文章:

如何为 NodeJS 应用程序创建 OS X pkg

至于 .app,我还不确定,但我很兴奋。

还:

于 2013-04-30T15:47:52.263 回答
3

查看AppJS -“使用 HTML、CSS 和 JavaScript 为 Linux、Windows 和 Mac 构建桌面应用程序”

这听起来像一个很好的匹配:)

于 2012-11-22T22:04:38.073 回答
3

查看NW.js - 这是英特尔赞助的一个项目,用于为桌面打包 Node.js 应用程序。

具体来说,请参阅使用 node-webkit 创建桌面应用程序

于 2014-05-06T21:44:08.900 回答
2

如果您从源代码编译 Node.js,则 Node.jslib文件夹中的每个 JavaScript 文件都将包含在二进制文件中。同样的方式可以将您的代码打包到二进制文件中。

我不熟悉 Mac OS X 包是如何创建的,但最终它似乎并不。只需将您的自定义 Node.js 二进制文件打包成一个即可。

于 2012-06-12T20:19:23.117 回答