【问题标题】:How to create a stand alone command line application with Node.js [duplicate]如何使用 Node.js 创建独立的命令行应用程序 [重复]
【发布时间】:2012-04-01 06:16:15
【问题描述】:

我正在尝试找到一种方法来使用我在未安装 node.js 的计算机上创建的命令行 nodejs 应用程序。换句话说,如何将我的应用程序与 node.js 打包在一起,以避免用户已经安装了 node.js。

典型的用例是:我运行应用程序并且应用程序使用应用程序提供的节点核心工作(或应用程序检查是否安装了 node.js,如果没有,它会自动下载并安装它) .

你有什么想法吗?

【问题讨论】:

标签: node.js command-line


【解决方案1】:

JXcore 允许您这样做。

在 Windows(或 unix 系统)上安装 JXcore 后,您所要做的就是运行:

jx package app.js "myAppName" -native

这将生成一个 .exe(如果命令在 unix 系统上运行,则为 unix 可执行文件)文件,您可以分发该文件,并且可以在没有任何外部依赖项的情况下执行(您甚至不需要 JXcore 或 Node.js系统)。

这是有关该功能的文档:http://jxcore.com/packaging-code-protection/#cat-74

(与https://stackoverflow.com/a/27551233/810830 重复)

【讨论】:

    【解决方案2】:

    检查Node.js License,它似乎是麻省理工学院许可的,所以这样做是完全合法的。

    我假设你的目标是 Windows 或 Mac,因为在 Linux 上你可以发布一个依赖于特定版本的 Node.js 的包,并提供一个脚本来为@987654323 添加各种免费存储库之一@ 或 .rpm Node.js 的预编译版本。

    您需要获取您感兴趣的版本的源代码,并为您选择的平台构建它。我记得,构建的可执行文件可以在不安装的情况下直接运行,但它假设某些库在$PATH 上可用(OpenSSL 是他们在许可证中明确提到的一个,而不是静态编译到二进制文件中) .

    Reading the Visual Studio build script,看来您需要为 Windows 安装 Python 才能构建 .exe。我怀疑(但不确定)可执行文件本质上是独立于 Windows 的,因此您可以将 Javascript 代码与其捆绑并编写一个简单的批处理文件以使其在其上运行平台。我不知道如何制作 Windows .msi 安装程序,但 vcbuild.bat 文件包含生成一个安装程序的功能,因此您可以搭载他们的代码来完成。

    【讨论】:

      【解决方案3】:

      Python、Perl 和 Tcl 都有实用程序,它们可以接受脚本并为给定平台创建可执行文件。 (我不了解 Ruby、PHP 等)——到目前为止,nodejs 还没有这样的实用程序,但我也会对现有的一个工具感兴趣。

      节点中有一个构建选项,可以让它在启动时运行指定的脚本,所以有些管道是存在的。

      【讨论】:

        【解决方案4】:

        目前很少,但 Node-webkit 看起来是明显的赢家。以前的替代 appjs 已被弃用,这里是相关的tweet

        AppJS 不再维护,因为 node-webkit (https://github.com/rogerwang/node-webkit ...) 实现了目的。感谢大家对我们的支持:(

        在已编写的应用程序处有一个look

        【讨论】:

          猜你喜欢
          • 2013-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-03
          • 1970-01-01
          • 2021-11-26
          相关资源
          最近更新 更多