如何使用Node.js创建独立的命令行应用程序

Fab*_*Fab 7 command-line node.js

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

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

你有什么主意吗?

小智 0

检查Node.js License,它似乎是 MIT 许可的,因此这样做是完全合法的。

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

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

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