xixixixixixixi1231 2023-11-26 00:17 采纳率: 15.8%
浏览 23
已结题

nodejs脚本 pkg成exe后无法运行,如何解决?

首先强调的是,这个脚本调用了playwright打开firefox浏览器获取cookie,在webstorm内运行没有任何问题,但是pkg成exe后,正确打开firefox后然后报错。如图。

img

img

  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-11-26 00:17
    关注
    获得0.60元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    这个错误通常是因为pkg打包时对函数的序列化处理不正确导致的。要解决这个问题,你可以尝试以下几个方法:

    1. 使用pkg--experimental-remapped-modules选项进行打包,例如:

      pkg index.js --targets node12-win-x64 --out-dir dist --experimental-remapped-modules
      

      这个选项会通过重定位模块的方式来解决一些函数序列化的问题。

    2. 确保你的脚本中没有使用到一些不支持序列化的函数或对象。在调用playwright相关的函数之前,可以尝试对其进行序列化和反序列化来验证一下是否有问题。

    3. 尝试使用其他的打包工具来替代pkg,例如nexeenclose.js。这些工具可能对函数序列化的处理方式有所不同,可能能够解决这个问题。

    如果上述方法都无法解决问题,那可能是因为pkg对某些特殊的模块或功能支持不完善。这种情况下,你可能需要考虑其他的打包方式或寻求其他的解决方案。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 创建了问题 11月26日