process.dlopen 错误处理
前提:使用 cmake-js 编译 native 的 node 包,在使用 node test.js 运行 js 文件时会报错
node:internal/modules/cjs/loader:1340 return process.dlopen(module, path.toNamespacedPath(filename)); ^ Error: The specified module could not be found. \\?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx at Module._extensions..node (node:internal/modules/cjs/loader:1340:18) at Module.load (node:internal/modules/cjs/loader:1119:32) at Module._load (node:internal/modules/cjs/loader:960:12) at Module.require (node:internal/modules/cjs/loader:1143:19) at require (node:internal/modules/cjs/helpers:121:18) at Object.<anonymous> (xxx.js:1:18) at Module._compile (node:internal/modules/cjs/loader:1256:14) at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) at Module.load (node:internal/modules/cjs/loader:1119:32) at Module._load (node:internal/modules/cjs/loader:960:12) { code: 'ERR_DLOPEN_FAILED' }
google 了类似的案例,很多结论是重装 npm 模块,我尝试后并没有解决问题
后面在缩小代码的测试范围,发现是缺少三方库的 dll 文件,补上这块的 dll 文件就能正常运行了
结论:遇到这种没遇到过的错误,即使从网上查找类似案例也极有可能误导我们解决问题的方向,在尝试了他们提到的方法还是没法解决时,可以从最小的测试范围解决问题