将一个Node.js应用程序打包为一个osx应用程序
我想为我们的开发人员用来pipe理其开发环境的一系列terminal命令构build一个接口。 我想尝试在node.js中构build它。
现在,我想我可以创build它作为一个HTML5 / CSS3 / JS应用程序使用快递,等等…然后想打包成一个本地的OSX应用程序。 意思是,我可以发送一个应用程序,他们双击并运行,但要么启动Chrome浏览器,并导航到命中脚本的localhost:端口服务器,或者只是启动服务器,并指示用户去url 。 无论哪种方式都很好。
我这样做是因为我需要访问本地系统,以便能够configuration许多事物并与任何数量的正在运行的(无头虚拟机)进行交互。 所以我不能简单地从服务器上提供这个服务器,让他们访问这个站点。
有任何想法吗?
谢谢,
路易斯
下面是关于安装程序(.pkg)主题的截屏video和说明:
如何为NodeJS应用程序创buildOS X pkg
至于.app,我还不确定,但是我正在追踪。
也:
- 如何为Ubuntu Linux创build一个Node.js应用程序.deb
- 如何为Microsoft Windows创buildNode.js应用程序.exe
选项1: 电子 (又名primefaces壳)
这是github的Atom编辑器使用的shell。 它与node-webkit非常相似,不过它将首先运行脚本,并且必须为用户创build一个视图/窗口。 还有一些其他的细微差别,但值得一看。
选项2: NW.js以前的node-webkit
要点是,它基本上扩展了JS引擎,为您编写支持节点的扩展对象模型和模块的基于Web的应用程序…然后,您将package.json start.html模块和js文件打包成一个zip文件.nw扩展名),并用nw(.exe)运行它..有Windows,Mac和Linux版本可用。
选项3: Thrust ( 节点适配器 )
这是一个真正失去约束的webkit / chrome与一个ipc通道启动应用程序。 您可以使用消息通道,也可以将应用程序编写为节点中更传统的服务器端应用程序,并控制窗口启动。 这可能适合你。
Thrust已经绑定了多种语言。 我把这个放在MacGapNode之前,只是因为我首先倾向于跨平台选项。
选项4: MacGapNode (仅限OSX)
MacGap与节点集成(似乎越来越陈旧了)
Aside:服务…
我不能说OSX作为一个.App,但是可以在NodeJS中创build一个后台服务安装,并且连接到桌面上的“本地”站点。 大多数浏览器有一个选项,不显示所有的function(我知道特别是Firefox的)。
我知道你的问题是特别针对OSX的,但是在windows中你可以使用NSSM来运行任何服务,而且我已经在windows中使用它来实现基于NodeJS的服务。 我认为上面的其他一些选项更好,这取决于您的需求。
删除:
-
nexe– 陈旧/无人维护 -
AppJS– 用DeskShellreplace -
DeskShell– 陈旧,网站离线 -
node-webkit – 重命名为NW.js -
XULRunner项目陷入僵局,并且非常落后。
这个答案被复制了多个问题,这些参考大多是为了方便更新。
- 将一个node.js webapp打包成一个普通的桌面应用程序
- 将一个Node.js应用程序打包为一个osx应用程序
查看AppJS: http ://appjs.com/ – “使用HTML,CSS和Javascript为Linux,Windows和Mac构build桌面应用程序”
听起来像一个很好的比赛:)
查看http://github.com/rogerwang/node-webkit – 这是由英特尔赞助的一个项目,用于为桌面打包Node.js应用程序
具体来说,请参阅http://strongloop.com/strongblog/creating-desktop-applications-with-node-webkit/
如果从源代码编译node.js
,则每个来自节点lib
文件夹的JavaScript文件都将包含在二进制文件中。 同样的方式可以把你的代码打包到二进制文件中。
我不熟悉如何创buildMac OSX软件包,但最终似乎并不困难 。 把你的自定义节点二进制打包成一个。