TypeScripts load script [../MsgProto] failed : Error: Cannot find module '../MsgProto'

**

typescript版本 ,导出的proto静态协议如何加载?

**

  • Creator 版本:1.9.3

  • 目标平台: Web

  • 详细报错信息,包含调用堆栈:

  • 编辑器操作系统 :Win7

  • 出现概率:必现

  • 额外线索:

用pbjs 导出一个proto协议的 x.js 然后导出 x.d.ts ,在vscode 上是没有报错的,但是creator编辑器一直报错。怎么解决?需要怎么去引用吗 ?

项目中目录结构是这样的:


郁闷啊 什么情况导致了,creator一直报这个错啊!,有人知道吗?

有的时候 cocos报错可能关闭重启软件,报错就没了

问题已解决。

测试了一下:
导出来的 proto.js 协议, 不能导入为插件,
导出proto.d.ts 之后, 原来的JS文件不能改名。

之前是因为我进行压缩了一下 改成了 proto.mini.js 导致编辑器编译器报错,还有就是导入为插件了。

正解!

不过不勾选为插件的话,构建项目,你能构建吗

原来你没用直接用protobuf.js而是构建了node_modules,我说你怎么可以打包,要是用protobuf.js的话,不选为插件无法构建出项目

哦 ,对的 ,我用的是 node_modules., 但是我现在有个问题 ,居然没法加载Long模块,导致long数据解析成了number而且精度丢失。

每次都是 toNumber 然后我那里就会丢精度了。
这个Long模块需要另外去加载的么 ?

好像是要另外安装。
https://github.com/dcodeIO/protobuf.js

另外导入Long.js作为插件,然后在你的proto 导出的js文件里,修改一下。

另外把long导入到cocos吗?我看你$protobuf改成=protobuf了,你现在还是引用的node_models那个模块吗

没有了呢,直接拿到源文件。

老板,没看懂,不导入为插件,就可以了么,不行啊,JS的文件名字也没改,怎么还是报错。

卧槽,踩了一个狼坑。 cocos 不插入js文件就可以了