「NodeJS」引用 ffi-napi 后 pkg 打包 排查过程记录
!!! 本篇是问题排查记录,字多。
排查记录
.exe程序窗口闪退
.exe程序窗口闪退, 看不到任何信息,无从下手。
在liunx
上运行
所以打了个liunx
版的,在liunx
上运行能看到报错信息 。
解决问题
报错截图如下:
寻找原因
找到 node_modules/node-gyp-build/index.js:59 发现这个报错是自己抛出的,这样很影响排查问题。
所以将它注释。查看真正的错误原因。
注释之后的错误信息,如图:
定位错误位置:
调试过程代码记录
通过对比原 ref-napi 目录 和打包后的目录
发现是pkg打包会将ref-napi
下打包文件不全,是prebuilds文件夹缺失。
解决办法
修改 package.json
"pkg": { "scripts": [], "assets": [ "node_modules/ffi-napi/**", "node_modules/ref-napi/**", "fonts/**" ], "targets": [ "node14-win" ] }, 复制代码
修改 webpack.config.js
"externals": { "ffi-napi": "require('ffi-napi')", "ref-napi": "require('ref-napi')" } 复制代码
再次启动 启动成功!!!
作者:Ru_GBY
链接:https://juejin.cn/post/7066332600515690533