node打包可执行文件(.exe)工具 --Pkg

2,358 阅读1分钟

在部署项目时,公司使用pkg将node项目打包成windows可以直接执行的exe文件(也支持linux等系统),对安装环境没有依赖,详情可见:www.npmjs.com/package/pkg 下面介绍一下使用步骤:

pkg

//首先安装pkg
npm install -g pkg
//在项目目录下执行
//pkg可以根据package.json下的配置进行打包,默认入口文件为bin指向的文件。
// -t exe所要运行的平台 -o 生成exe的名字
pkg -t win package.json -o demo

package

下面是package文件的一些配置:

{
 
  "scripts": {
   ...
  },
  "dependencies": {
   ...
  },
  "devDependencies": {
    "@quasar/app": "^1.0.0",
    "method-override": "^3.0.0",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "errorhandler": "^1.5.1",
    "express": "^4.17.1", 
  },
  "engines": {
    "node": ">= 8.9.0",
    "npm": ">= 5.6.0",
    "yarn": ">= 1.6.0"
  },
  "browserslist": [
    "last 1 version, not dead, ie >= 11"
  ],
  "bin": "./server.js", //文件入口 启动node服务 用于挂载资源 读取文件
  "pkg": {
    "assets": "dist/spa/**/*" ////静态文件的目录,可添加多个
  }
}

可能出现的问题

可能会出现打包时间过慢,因为国内网络问题~

  • 解决办法:找到c盘用户目录下的.pkg-cache文件夹,把对应版本的文件下载下来就可以愉快地打包了