Warning Cannot include directory %1 into executable.怎么解决

我写了一个node脚本,在用pkg打包的时候,遇到了下面的情况

 Warning Cannot include directory %1 into executable.
  The directory must be distributed with executable as %2.
  %1: node_modules\puppeteer\.local-chromium
  %2: path-to-executable/puppeteer

我这个情况属于是找不到默认浏览器了,但是我设置了默认路径
一番查找才发现pkg的一个特点,打包的时候需要使用绝对路径,所以使用path.resolve()将相对路径转化为绝对路径就可以了
executablePath: path.resolve('./node_modules/puppeteer/.local-chromium/win64-1022525/chrome-win/chrome.exe'),

其它问题

1.后续问题
这样成功打包之后,运行起来了,但是运行到一半又出问题了Error:Passed function is not well-serializable!

请添加图片描述
好在也找到了解决方法,虽然不知道原理,不过能用就好
pkg -t win index.js --public
在打包命令的最后添加--public

2.衍生问题
上面提到pkg打包的时候,不能识别相对路径,就把所有用相对路径的地方用path转化为了绝对路径
俗话说得好。每当修好一个bug,就会有一个新的bug诞生
后边用rollup打包代码的时候,不能用node运行,报错 Could not dynamically require "F:\desk\mysgj\dist\src\random.js".
改了一上午才搞明白,这是识别不了绝对路径,我改回相对路径就好了,然后对照实验方式再测了测
得出结论:
rollup不能识别require的绝对路径,用相对路径才行,其他地方用绝对路径没事

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值