使用pkg将nodejs脚本打包成exe可执行文件,使用者无需安装node环境即可使用nodejs脚本的功能
基本方法
- npm install -g pkg
- pkg index.js --target=node16 --platform=all --output=myapp
- index.js: 入口文件路径。
- target=node16: 指定目标Node.js版本,可以是具体的版本号或latest。
- platform=all: 打包所有支持的平台(或指定具体平台如linux, win, macos)。
- output=myapp: 输出文件名前缀,生成的文件将是myapp.exe 或相应格式。
设置开机自启动(没有黑窗口)
使用pkg打包的exe文件执行后会发现运行期间会打开一个命令行窗口,一旦关闭了窗口就会导致node服务也关闭了,这对使用者不太友好,所以我们需要使用其他的方法让这个服务后台启动
- 首先要下载工具包 winsw:github.com/winsw/winsw…
我们最好使用稳定点的版本,然后下载下图的两个文件
-
将下载的两个文件和 node打的exe程序 放到同一个目录
-
修改 sample-minimal.xml 配置文件
记得将配置文件中:执行的命令下面那一行中的server.exe改为你自己的node服务程序
- 将sample-minimal.xml配置文件和winsw程序包 重命名
两个文件都改为一样的名字,比如nodeStart
- 新建两个bat文件
这两个bat文件的内容中的nodeStart.exe就是第四步中winsw程序包改的文件名
install.bat (在系统中注册服务)
@echo off
start cmd /k "nodeStart.exe install"
exit
uninstall.bat (将服务从系统中卸载)
@echo off
start cmd /k "nodeStart.exe uninstall"
exit
6.最后一步
运行install.bat,成功后重启电脑,然后打开任务管理器,找到服务选项,在服务选项中就可以找到我们的服务了。如下图