【发布时间】:2012-12-28 03:40:02
【问题描述】:
假设我已经编写了一个 Node.js 应用程序,现在我想分发它。当然,我想让用户更容易,所以我不希望他安装 Node.js,运行npm install,然后手动输入node app.js。
我更喜欢单个可执行文件,例如Windows 上的 .exe 文件。
我该如何处理?
我知道this thread,无论如何这只是关于Windows。我怎样才能以独立于平台的方式实现这一点?有任何想法吗?最佳实践? ...?
完美的解决方案是我可以提供源文件夹的“编译器”。源文件夹包含各种.js 文件中的应用程序本身、node_modules 文件夹和一些元数据,例如package.json。输出应该是各种平台的二进制文件,例如 Windows、OS X 和 Linux。
哦,重要的是:我不想对源代码进行 任何 更改,因此使用相对路径调用 require 应该仍然有效,即使此相对路径现在在里面打包的应用程序。
有什么想法吗?
PS:我不希望用户独立安装 Node.js,它也应该包含在可执行文件中。
【问题讨论】:
-
这是一个网络应用吗? (意思是有一个基于 Web 的 UI)还是一个更简单的命令行应用程序?如果您需要生成某种浏览器,我怀疑这会变得更加困难。
-
以这种方式部署到 unix 操作系统的 node.js 社区成员的数量:零。您确定 tar 存档、deb 或 rpm 等久经考验的方法不适合您吗?您是否正在发明一个并不真正存在的问题来解决?
-
@Alex Wayne:这是一个服务器端应用程序,因此无需启动浏览器。
-
PS:此外,我的问题包括是否有 one 工具可以用来为任何平台创建解决方案,因此即使是自动创建 .exe 文件的工具Windows 和 .deb 文件会很棒;-)
-
@PeterLyons 我觉得这很难相信。我也可以证明。
标签: node.js deployment