按照官方教程, npm install --save protobufjs,并把proto文件生成js和d.ts,可以正常使用。
但是在调试的时候,一直报错:
Can not find deps [buffer] for path : preview-scripts/__node_modules/@protobufjs/inquire/index.js
Can not find deps [long] for path : preview-scripts/__node_modules/@protobufjs/inquire/index.js
这两个类型缺失,我安装的protobuf是6.11.2的最新版本
请问大家遇到过这种情况吗?有什么办法解决?
- 看看nodejs版本,本版太高可能报错。
- 看看proto的库和生成的js的加载顺序,先加载库,再加载生成的js。
- 其它问题那就不知道了 = =!
node版本是v14.15.1,应该没什么问题。
用npm获取protobuf的时候,已经把 protobufjs 这个包作为依赖写入 package.json了,应该会优先加载库的
请问你是手动生成的吗?按教程 在 package.json 中定义
"scripts": {
"build-proto:pbjs": "pbjs --dependency protobufjs/minimal.js --target static-module --wrap commonjs --out ./Proto.js/proto.js ./Proto/*.proto",
"build-proto:pbts": "pbts --main --out ./Proto.js/proto.d.ts ./Proto.js/*.js"
},
后,并没有在我手动创建的工程根目录"Proto.js"文件夹下生成js和d.ts文件,
通过向 tsconfig.json 增加允许对包含默认导出的模块使用默认导入字段
"compilerOptions": {
"allowSyntheticDefaultImports": true,
}
``` 也不行。
能帮忙看下吗?
我的是可以生成js和d.ts的,你看看是不是路径问题。
我现在用的是插件protobuf-creator,有操作界面,比较方便,
就是目前模拟器调试的时候,会报错缺失buffer和long类型,这个一直没解决,但是不影响调试,我就没有继续探究了