首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >node 使用pkg打包可执行文件

node 使用pkg打包可执行文件

作者头像
小田测测看
发布2026-06-17 18:06:41
发布2026-06-17 18:06:41
850
举报

#

nvm 管理 Node.js 环境,再用 pkg` Node.js 服务器打包成可直接运行的可执行文件,以下是具体步骤

新建项目目录并初始化
代码语言:javascript
复制
nvm install 18
nvm use 18

mkdir time-server && cd time-server
# 初始化 package.json
npm init -y
npm install express pkg@5.8.0
npx pkg -v  # 输出 5.8.0 即成功

写代码server.js

代码语言:javascript
复制
const express = require('express');
const app = express();
constPORT = process.env.PORT || 3000;

// 跨域处理
app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET');
next();
});


app.get('/time', (req, res) => {
const now = newDate();
  res.json({
    code: 200,
    message: 'success',
    data: {
      timestamp: now.getTime()
    }
  });
});

app.listen(PORT, () => {
console.log(`服务器启动成功:http://localhost:${PORT}/time`);
});


process.on('SIGINT', () => {
console.log('\n服务器已关闭');
  process.exit(0);
});

修改package.json

代码语言:javascript
复制
{
  "name": "time-server",
"version": "1.0.0",
"main": "server.js",  // 项目入口文件
"bin": "server.js",   // pkg 打包的入口文件(必须和main一致)
"scripts": {
    "start": "node server.js",
   
  },
"dependencies": {
    "express": "^4.18.2"
  },
"devDependencies": {
    "pkg": "^5.8.0"
  }
}

打包

代码语言:javascript
复制
npx pkg . --targets node18-win-x64 --output time-server-win.exe

打包完成后,项目目录会出现 time-server-win.exe 文件,直接双击即可

然后打开浏览器访问 http://localhost:3000/time

pkg 支持的 target 命名规则

格式是:

代码语言:javascript
复制
node<版本>-<平台>-<架构>

平台 WindowsLinuxmacOS

架构:x64arm64

常见 示例

代码语言:javascript
复制
node18-win-x64
node18-linux-x64
node18-macos-x64
node18-macos-arm64

#nodejs #打包 #pkg

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新建项目目录并初始化
  • pkg 支持的 target 命名规则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档