最后发现是我们自己构建的一个npm包里的一个xxx.js文件里写了一个try catch,写的不规范, 如下示范。
会导致npm们构建后生成 //miniprogram-npm-outsideDeps=[xxxx.js], 但是这个xxx.js可能是由于语法解析错误导致生成失败,我纠正了这个“try catch”过后,发现这一行最后为 miniprogram-npm-outsideDeps=[] ,至此,恢复正常...
// 有问题的写法
try {
} catch {
}
// 修改后
try {
} catch(err){
console.log(err)
}
结论: 小程序对于编译失败没有足够的友好提示,如遇到这种依赖无法被找到的问题多半其实是小程序npm构建失败的问题,可能要先从依赖包本身的问题开始排查错误,有一些写法或者语法微信小程序自带的构建无法处理。