我使用Node.js平台的commander.js
构建了一个简单的命令行应用程序。现在我想把它编译成一个简单的exe
文件,我可以直接执行它。
意味着我想要完整应用程序的单个可执行文件
这是我的应用程序结构
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
感谢
- 这就是我如何将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
如果没有某种Node运行时在上运行它,就不可能运行Node应用程序,因此,如果您希望将程序作为独立的.exe
分发,则必须将Node本身绑定到所述可执行文件和代码中。有各种工具可以帮你做到这一点,比如EncloseJS。