pkg 打包nodejs
时间: 2025-05-19 10:12:27 浏览: 44
### 如何使用 `pkg` 工具打包 Node.js 应用程序
#### 全局安装 `pkg`
为了能够使用 `pkg` 来打包 Node.js 应用程序,首先需要将其作为全局模块安装。可以通过以下命令完成安装:
```bash
npm install -g pkg
```
此操作会将 `pkg` 命令添加到系统的路径中[^1]。
#### 创建示例应用程序
假设有一个简单的 Express 应用程序 `server.js` 文件,其内容如下所示:
```javascript
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Express web app running on http://localhost:3000');
});
```
该代码创建了一个基本的 Web 服务器,在访问根路径 `/` 时返回字符串 `'Hello World!'`[^5]。
#### 使用 `pkg` 打包应用程序
在准备好要打包的应用程序之后,可以在终端中运行以下命令来进行打包:
```bash
pkg server.js
```
默认情况下,这将会基于当前的操作系统生成一个可执行文件。如果希望为目标平台(如 Windows、Linux 或 macOS)生成特定的二进制文件,则可以指定目标选项 `-t` 参数。例如:
```bash
pkg server.js --targets node14-win-x64,node14-linux-x64,node14-macos-arm64
```
上述命令会在支持的目标平台上分别构建适用于这些环境的可执行文件[^2]。
#### 配置额外资源和脚本
有时可能还需要包含一些外部 JavaScript 脚本或者静态资产文件。通过修改项目的 `package.json` 文件中的 `"pkg"` 字段实现这一点。下面是一个例子配置片段:
```json
{
"name": "example",
"version": "1.0.0",
"main": "server.js",
"pkg": {
"scripts": ["./assets/js/*.js"],
"assets": [
"./public/**/*"
],
"targets": [
"node14-win-x64",
"node14-linux-x64"
]
}
}
```
在此设置下,所有的 `.js` 文件位于 `assets/js/` 下会被加入最终产物;同样地,“public”目录下的所有子文件也会被嵌入其中[^4]。
#### 运行生成的可执行文件
一旦成功完成了打包过程,就可以找到新产生的可执行文件并尝试运行它们。对于类 Unix 系统来说通常可以直接调用:
```bash
./server
```
而在 Windows 上则可能是类似于这样的方式去启动应用:
```cmd
server.exe
```
### 注意事项
- 如果遇到任何错误消息提示缺少某些依赖关系,请确认本地开发环境中已经正确设置了全部所需库,并重新尝试整个流程。
- 不同版本之间可能存在兼容性差异,因此建议始终查阅官方文档获取最新指导信息。
问题
阅读全文
相关推荐















