我正在考虑开发一个由两部分组成的桌面应用程序:
两部分通过插座连接。不要问为什么我知道这很奇怪。
我希望能够通过安装程序向客户提供该应用程序。我不希望用户必须自己安装Node.js.
是否可以将Node.js服务器作为独立服务器安装,即无需在系统上全局安装Node.js.
这是任何(Windows,Linux,Mac OS X ...)环境的问题。
答案 0 :(得分:36)
更新2017-05-04 :在城里有一个新的孩子:
更新2016-11-14 :现在Electron和nwjs似乎是最好的选择。
<强>原始强>:
创建安装程序需要执行许多步骤,并且每个操作系统都有所不同。例如:
.pkg
,这里有关于如何做到这一点的说明:https://coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html .deb
,这里有关于如何做到这一点的说明:https://coolaj86.com/articles/how-to-create-a-debian-installer.html .exe
或.msi
,有关如何使用innosetup安装程序的说明:https://coolaj86.com/articles/how-to-create-an-innosetup-installer.html 答案 1 :(得分:15)
您可以将二进制文件与应用程序捆绑在一起。不必安装任何东西来运行Node应用程序。二进制文件与安装程序位于同一页面上available。
你只需要知道二进制文件的位置,但我假设你有一个可以将它们放在某个已知位置的安装程序。
// To start the node process
$ /path/to/binaries/npm install
$ /path/to/binaries/node myApp.js
答案 2 :(得分:10)
Node-Webkit是一个选项,但它确实没有设置为执行“服务器 - 客户端”类型关系。
另一个选择是将node.js安装程序与应用程序安装程序打包在一起。然后,当应用程序启动时,您可以启动node.js进程。我知道有些开发人员一直在使用钛,这里有更多信息information。
希望这有帮助!
答案 3 :(得分:5)
这里有一个选项:Light Table是一个节点应用程序,但安装得很好,并且在大多数操作系统上都干净地集成了GUI(webkit)。
为此,它利用node-webkit。 (直接从html页面运行节点代码。)这是packaging documentation。
答案 4 :(得分:4)
值得一提GitHub提出的Electron。用于构建Atom,Slack,Visual Studio Code等。
答案 5 :(得分:2)
我刚刚偶然发现nexe - 一个“从您的node.js app创建单个可执行文件”的工具。
我还没有尝试过,但我想即使没有安装程序也可以 - 只生成一个独立的二进制文件。
答案 6 :(得分:0)
基于Microsoft Nodejs guidelines。
也许这是另一种选择,Installing and Running node.js applications within IIS on Windows
答案 7 :(得分:-1)
我在这里搜索Node.js桌面应用程序框架(尽管OP提出的有关将Node.js服务器作为软件包安装的问题,而不是关于具有UI的应用程序的问题)。
我想提及Proton Native,因为到目前为止这里缺少它。它仍然是新的,但看起来很有希望。它使您可以使用React Native组件为各种平台创建桌面应用程序(在后台使用Qt)。