如何将 Node.js 命令行应用程序转换为单个可执行文件?

How to convert Node.js command line app to single executable?

我使用 commander.js 为 Node.js 平台构建了简单的命令行应用程序。 现在我想把它编译成简单的 exe 文件,我可以直接执行它。

Means I want single executable file for complete application

这是我的应用程序结构

APP_ROOT
  | - package.json
  | - node_modules
  | - node_modules/.bin/myapp.bat
  | - node_modules/myapp/bin/myapp
  | - node_modules/myapp/bin/myapp-action1
  | - node_modules/myapp/bin/myapp-action2

谢谢

不可能 运行 没有某种节点的节点应用程序 运行 时间 运行 它 - 因此,如果你希望将您的程序作为独立的 .exe 分发,您必须将 Node 本身与您的代码一起捆绑到所述可执行文件中。有多种工具可以为您执行此操作,例如 EncloseJS.

  • 这是,我如何将 node.js 命令行应用程序打包为单个可执行文件
  • 使用 npm i -g pkg
  • 安装 pkg 模块
  • 这是我的 package.json 文件

json

{
  "name": "my-app-exe",
  "version": "1.0.0",
  "description": "Myapp-Cli tool as executable",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "myapp",
    "cli",
    "exe"
  ],
  "author": "Shisht",
  "license": "MIT",
  "devDependencies": {
    "myapp": "1.0.0"
  },
  "bin": "node_modules/myapp-cli/bin/cli",
  "pkg": {
    "assets": "node_modules/**/*"
  },
  "help": "pkg . --target host --output myapp-1.0.0-x64.exe --debug"
}
  • 用于将 myapp 打包为 myapp.exe 的命令 pkg . --target host --output myapp-1.0.0-x64.exe --debug