独立的Node.js应用程序

我正在考虑开发一个由两部分组成的桌面应用程序:

  • 用户界面(例如Java应用程序)
  • 后端Node.js服务器

2部分通过sockets连接。 不要问为什么我知道这很奇怪。

我希望能够通过安装程序向客户提供应用程序。 我不希望用户必须自己安装Node.js。

有没有办法将Node.js服务器作为独立安装,即不需要在系统上全局安装Node.js。

这是任何问题(Windows,Linux,Mac OS X …)环境。

您可以将二进制文件与应用程序捆绑在一起。 不需要安装任何东西来运行Node应用程序。 二进制文件与安装程序在同一页面上可用 。

你只需知道二进制文件的位置,但是我认为你已经有了一个安装程序,可以将它们放在已知的地方。

// To start the node process $ /path/to/binaries/npm install $ /path/to/binaries/node myApp.js 

更新2017-05-04 :有一个新的小镇:

  • PKG(由zeit)

更新2016-11-14 :如今Electron和nwjs似乎是最好的select。

  • 电子
  • nwjsbuild设者

原文

您需要经过许多步骤才能创build安装程序,并且每个操作系统都有所不同。 例如:

  • 在Mac OS X上,您需要创build一个.pkg ,有关于如何在此处执行操作的说明: https : //coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html
  • 在Ubuntu Linux上,你需要创build一个.deb ,这里有如何做到这一点的说明: https : //coolaj86.com/articles/how-to-create-a-debian-installer.html
  • 在Microsoft Windows上,您需要创build一个.exe.msi ,这里有如何使用innosetup安装程序的说明: https ://coolaj86.com/articles/how-to-create-an-innosetup-installer.html

Node-Webkit是一个选项,但它确实没有设置为“服务器 – 客户端”types的关系。

另一种select是使用应用程序安装程序打包node.js安装程序。 然后当应用程序启动时,你可以启动一个node.js进程。 我知道有些开发者一直在用titanium做这个,这里有更多的信息资料 。

希望这可以帮助!

这里有一个选项: Light Table是一个节点应用程序,但安装很好,并在大多数操作系统上整合了GUI(webkit)。

为此,它利用node-webkit 。 (直接从html页面运行节点代码)以下是包装文档 。

值得一提的是由GitHub制作的Electron 。 用于构buildAtom,Slack,Visual Studio Code等。

我刚刚偶然发现了一个nexe工具,它是一个“从你的node.js应用程序中创build一个单一的可执行文件”的工具。

我还没有尝试过,但我想即使没有安装程序 – 只生成一个独立的二进制文件。

基于微软Nodejs的指导方针 。

也许这里是另一个select, 在Windows上的IIS中安装和运行node.js应用程序

Electron是用JavaScript,HTML和CSS开发跨平台桌面应用程序的最好也是最简单的方法之一。