Node.js 打包成 EXE 文件(原理与详细教程)
在这篇文章中,我将向您展示如何将 Node.js 项目打包成一个独立的 EXE 文件。通过这种方式,您可以将应用程序打包为一个文件,方便在没有 Node.js 环境的电脑上运行。
我们将使用 pkg 工具来实现这个目标,pkg 是一个 Node.js 命令行工具,可将 Node.js 项目打包成一个可执行文件。
原理:
pkg 工具的核心原理是,它将 Node.js 项目打包进一个自包含的二进制文件。而这个二进制文件包含一个嵌入式 Node.js 可执行文件和您的应用程序的所有源代码和资源文件。当运行打包后的二进制文件时 ,系统会自动启动 Node.js 环境并运行您的代码。从而使您的 应用程序无需依赖外部 Node.js 环境。
下面是如何使用 pkg 将 Node.js 项目打包成 EXE 文件的详细步骤:
1. 安装 Node.js
确保您已安装 Node.js,如果没有,请从 Node.js 官网(https://nodejs.org/)下载并安装。
2. 创建一个 Node.js 项目
打开命令提示符,输入以下命令:
```bash
mkdir sample-app
cd sample-app
npm init -y
```
3. 编写一个简单的应用程序(例子)
在上面创建的项目目录中,新建一个名为 app.js 的文件,然后添加一些简单的代码,例如:
```js
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, world!\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000');
});
```
4. 安装 pkg 工具
将 pkg 添加至全局或者您的项目中,它将用于将代码打包成可执行文件。全局安装方法:
```bash
npm install -g pkg
```
或者项目中安装方法:
```bash
npm install --save-dev pkg
```
5. 打包项目
用以下命令打包您的项目,将‘app.js’替换成您的实际入口文件。
```bash
pkg app.js --target host --output my-app.exe
```
如果项目需要打包其他资源文件,请使用 pkg 配置文件。例如,在 package.json 中添加 "pkg" 属性及 "assets" 属性,将需要包含的资源文件按路径添加进去:
```json
{
"name": "sample-app",
"version": "1.0.0",
...
"pkg": {
"assets": [
"views/**/*",
"public/**/*"
]
}
}
```
然后再执行打包命令。
6. 运行 EXE 文件
完成后, 当前目录下将生成名为 my-app.exe 的二进制文件。通过双击或在命令行中运行此文件,您的应用程序将在不依赖 Node.js 的情况下运行。
通过 pkg 将 Node.js 应用程序打包成功的关键是在 pkg 配置文件的 "assets" 中将资源文件包含。只要确保您已配置所有需要的资源文件,则可以完全通过构建的二进制文件运行应用程序。