#
用 nvm 管理 Node.js 环境,再用 pkg` Node.js 服务器打包成可直接运行的可执行文件,以下是具体步骤
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
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
{
"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"
}
}打包
npx pkg . --targets node18-win-x64 --output time-server-win.exe打包完成后,项目目录会出现 time-server-win.exe 文件,直接双击即可
然后打开浏览器访问 http://localhost:3000/time
格式是:
node<版本>-<平台>-<架构>平台 Windows、Linux、macOS
架构:x64、arm64
常见 示例
node18-win-x64
node18-linux-x64
node18-macos-x64
node18-macos-arm64#nodejs #打包 #pkg