目录
方案一:npm pkg
DEMO演示
目标:创建一个node服务,将index.js打包为exe可执行文件,不再需要通过node index.js启动
1、初始化package,并安装express包
npm init & npm i -D express
2、创建index.js的node服务
// index.js
const express = require('express');
const app = express();
app.get('/test', (req, res) => {
res.send('hello world')
});
app.listen(3000, () => {
console.log('Server started on port 3000')
})
3、cmd中运行node index.js,并通过postman请求测试,发现没有问题
4、全局安装pkg,执行命令(此处注意是全局安装,否则无法生效pkg命令)
npm i -g pkg
5、package.json文件中,添加bin路径
// package.json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"express": "^4.18.2"
},
// 此处添加bin路径
"bin": "./index.js"
}
6、执行打包命令,pkg . --target win --output test.exe 此时,在缓慢打包node为二进制文件,要等老久(此处为下载node的二进制文件,可以手动去官网下载你使用node版本的二进制文件,指导见node二进制文件官网下载教程)
7、最后打包成功,生成test.exe文件,点击测试,发现没有问题
node二进制文件官网下载教程(此方法需要翻墙,否则下载过慢)
1、确定你当前使用node版本(有时,没有你使用的node版本二进制文件,则直接使用上述步骤6显示下载很久的版本,v18.5.0)。win+R,输入cmd,输入node -v
2、官网找到对应node版本的二进制文件,下载assets文件中对应的版本文件
3、修改下载的文件名,node-v18.5.0-win-x64 修改为 fetched-node-v18.5.0-win-x64,并放入文件夹 C:\Users\用户名\.pkg-cache\v3.4