nodejs 使用pkg打包项目

pkg使用:

// 简单的json配置,这里是win开发环境下的,同事mac说不行,没尝试
{
  "bin": "./compare.js",
  "pkg": {
    "targets": [
      "node14-win-x64"
    ],
    "assets": [
      "node_modules/axios",
      "node_modules/fs",
      "node_modules/fs-constants",
      "node_modules/fs-extra",
      "node_modules/express",
      "node_modules/multer",
      "node_modules/multistream"
    ]
  },
  "dependencies": {
    "axios": "^0.27.2",
    "express": "^4.18.2",
    "fs": "0.0.1-security",
    "multer": "^1.4.5-lts.1"
  }
}

这个建议先创建这个文件再处理其他的,因为后期如果使用的三方包有问题要更换的话,这个文件会自动变动

assets里的内容,是为了防止打包好的文件运行时,报错找不到文件,所以最好自己手动指定一下require用到的包,参考的文章说,如果自己手动引入还是不行的话,建议整个引入node_modules

另外还有,axios新的版本(2023.9.19)会导致报错,检索建议是换到低版本,建议版本为:0.27.2,问题参考下面链接:

https://github.com/vercel/pkg/issues/1822

另外一个很重要的问题,打包的时候,有时候会非常慢导致直接超时或者直接断开,解决方法如下:

先下载pkg-fetch

npm install pkg-fetch

到这个链接里找自己需要的包下载:

https://github.com/zeit/pkg-fetch/releases

这里以v9.2.1为例:
下载的包叫node-v9.2.1-linux-x64
改名为:
fetched-v9.2.1-linux-x64
放到
~/.pkg-cache/v2.5/目录下:
注意,这个v2.5以及自己下载的版本需要看自己的日志内容:
日志会打印以下信息:
{“tag”:“v2.5”,“name”:“uploaded-v2.5-node-v8.9.0-linux-x64”}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值