如何从节点.js应用程序制作exe文件?

2022-08-30 02:30:56

我有一个我写的节点应用程序,我按如下方式运行:

node.exe app.js inputArg

有没有办法把它打包成一个.exe本身?所以我可以做这样的事情吗?

App.exe inputArg

我有一些通过使用批处理文件来伪造它的方法,所以我可以这样做:

App.bat inputArg

但这要求我在该文件夹中拥有所有依赖项和节点,这并不理想。


答案 1

我使用的解决方案是Roger Wang的node-webkit

这是打包nodejs应用程序并分发它们的绝佳方式,它甚至可以让您选择将整个应用程序“捆绑”为单个可执行文件。它支持Windows,Mac和Linux。

以下是有关部署 node-webkit 应用的各种选项的一些文档,但简而言之,您需要执行以下操作:

  1. 压缩所有文件,并在根目录中使用 package.json
  2. 将扩展名从 .zip 更改为 .nw
  3. copy /b nw.exe+app.nw app.exe

作为补充说明 - 我已经使用这个发布了几个生产盒/安装cd应用程序,它工作得很好。相同的应用程序在Windows,Mac,Linux和Web上运行。

更新:项目名称已更改为“nw.js”,并正确位于此处:nw.js


答案 2

有一些替代方案,包括免费和商业。我没有使用过它们中的任何一个,但从理论上讲,它们应该有效:

大多数将要求您将批处理文件保留为主可执行文件,然后捆绑节点.exe和脚本。

根据您的脚本,您还可以选择将其移植到 JSDB,JSDB 支持一种简单的方法来创建可执行文件,只需向其附加资源即可。

第三个准解决方案是将 node 保留在某个位置,并将此文件夹添加到环境变量中。然后,您可以在运行节点+您喜欢的脚本的dir中创建.bat文件 - 我以这种方式在Windows上工作。可以使用批处理文件、vb 脚本或安装程序自动执行此设置。C:\utilsPATHcoffee