在本教程中,我们将学习如何将Node.js应用程序打包成一个可执行文件(.exe)。这对于将应用程序分发给没有Node.js开发环境的用户特别有用。我们主要会介绍两种方法:
1. 使用pkg打包
2. 使用nexe打包
## 方法1:使用pkg打包
`pkg`是一个简单易用的命令行工具,能将Node.js项目编译成为一个独立的二进制可执行文件。它支持多个平台的可执行文件。
### 安装pkg
首先,使用npm(Node.js包管理器)安装pkg。在命令提示符或终端中输入以下命令:
```bash
npm install -g pkg
```
此命令将全局安装pkg,使其在您的计算机上的任何位置都可用。
### 项目文件结构
假设您有一个名为`app.js`的Node.js应用程序和`package.json`文件。
```
myNodeApp
├── app.js
└── package.json
```
### 执行pkg命令
在您的项目根目录中打开命令提示符或终端,并运行以下命令:
```bash
pkg app.js
```
这将为当前平台生成一个可执行文件。如果需要针对不同的平台生成可执行文件,请在命令中添加目标参数:
```bash
pkg app.js --targets windows,macos,linux
```
在您的项目目录中,将生成以下文件:
```
myNodeApp
├── app.js
├── app.exe (on Windows)
├── app-macos (on macOS)
├── app-linux (on Linux)
└── package.json
```
这样,您就可以直接运行生成的`.exe`文件(在Windows上)来运行您的Node.js应用程序。
## 方法2:使用nexe打包
`nexe`是另一种将Node.js应用程序打包成可执行文件的工具。它将Node.js运行时和应用程序捆绑在一起,生成一个单一的可执行文件。
### 安装nexe
使用npm安装nexe:
```bash
npm install -g nexe
```
### 项目文件结构
假设您的项目结构与上一个例子相同,包含`app.js`和`package.json`文件。
### 执行nexe命令
在您的项目根目录中打开命令提示符或终端,然后运行以下命令:
```bash
nexe app.js
```
这将为当前平台生成一个可执行文件。您可以在命令中添加可选的`-t`参数来为不同的平台生成可执行文件。
```bash
nexe app.js -t windows-x64-12.18.0
```
上述命令会为Windows x64平台生成一个包含Node.js 12.18.0版本的可执行文件。
您现在应该拥有:
```
myNodeApp
├── app.js
├── app.exe (on Windows)
├── app-macos (on macOS)
├── app-linux (on Linux)
└── package.json
```
现在,您可以运行生成的`.exe`文件(在Windows上)来运行您的Node.js应用程序。
总结
在本教程中,我们学习了如何使用pkg和nexe将Node.js应用程序打包成可执行文件。这将帮助您轻松分发您的应用程序,并确保用户无需安装Node.js运行环境即可轻松使用您的应用程序。