Nodejs之NestJS之pkg打包

Nodejs之NestJS之pkg打包

一、概述

pkg打包有两个优势:

  • 打包node环境,不需要安装node,保证环境一致
  • 相当于“加密”代码

二、使用

  • 安装:npm i pkg -g

  • 配置package.json

      "scripts": {
        "pkg:win": "pkg . -t node14-win-x64 -o app-win --debug",
        "pkg:mac": "pkg . -t node14-mac-x64 -o app-mac --debug",
        "pkg:linux": "pkg . -t node14-linux-x64 -o app-linux --debug",
      },
      "bin": "dist/main.js",
      "pkg": {
        "assets": [
          "node_modules/swagger-ui-dist",
          "node_modules/swagger-ui-express",
          "dist/migrations"
        ]
      },
    
    • assets里是需要过滤的文件:这里把swagger排除,否则ui样式出错;同样过滤typeorm的migrations文件
  • 编译:

    npm run build
    npm run pkg:win
    
  • 注意:使用pkg后路径使用会有一定限制:使用pkg后,process.pwd()是外部路径,__dirname__filename是内部路径,具体细节参考官方说明:https://github.com/vercel/pkg

你可能感兴趣的:(nodejs,nestjs,pkg)