【插件发布汇】第二弹 《protobuf creator》方便快捷小工具

我在网上找了一个 protobuf.min.js.map文件放进去,不报错了。但是模拟器运行,还是会报错

在插件的protobuf包里有对应的map文件,模拟器看报错信息你先查查看是读哪个文件报错

  • Simulator: E/jswrapper (213): ScriptEngine::onGetStringFromFile long not found, possible missing file.
    这一条报错,我查到原因了,是因为protobuf里面缺失long类型,我加入long.js,就好了,也不知道对不对。
    剩下一个
  • Simulator: E/jswrapper (213): ScriptEngine::onGetStringFromFile buffer not found, possible missing file.
    我还没有头绪。

你先把sourcemap关了试一试,如果你开启调试的话可能就需要引入多个原文件了

微信图片_20211010235610
我查到一个信息,是说5.0版本没有long和buffer类型,会不会是插件版本的问题

插件带的protobuf版本是6以上的,你可以在插件包里的protobuf包里查到,如果想要指定版本可以自行在插件根目录下安装

在编辑器中,用模拟器运行的时候,long和buffer 找不到
ERROR: Uncaught Error: Failed to require file ‘buffer’, not found!, location: (no filename):0:0
ERROR: Uncaught Error: Failed to require file ‘long’, not found!, location: (no filename):0:0
请问这个怎么解决啊

哥们,我也是在编辑器中,用模拟器运行的时候,long和buffer 找不到

请问你最后是怎么解决的啊


不行哦

请问大佬能否在转proto的逻辑里增加根据协议下标来查找对应的成员数据,比如有个协议
message CmdPlayer{
required int64 playerId = 1;//玩家id
optional string name = 2;//名称
optional int32 icon = 3;//头像
}
后端发来的更新只有这个协议成员的下标(index,例如2)和对应数据的byte,意思后端这时更新的是玩家的名字,就不用再发送整个协议(节省其他没用的空间)

抱歉搞不了哈

推荐一个可以直接导出二进制文件+ts文件的工具,不用在走一遍proto文件了,还开源:

https://github.com/wingcd/go-xlsx-exporter

作者您好,请问这个问题怎么解决?我在点生成后报如下错误:生成ts文件失败,js是ok的
我是用的版本是3.6.2,windows,有正确安装notejs。npm运行成长
[Window] code 1Error: code 1
at ChildProcess. (D:\WorkSpace\PrjNBASquare\Client\PrjNBASquare\extensions\protobuf-creator\node_modules\protobufjs\cli\pbts.js:130:27)
at ChildProcess.emit (events.js:327:22)
at maybeClose (internal/child_process.js:1048:16)
at Process.onexit (internal/child_process.js:288:5)

可以自己写个测试脚本,调用protobuf库的pbts命令去生成dts,插件也是用的这个
const {pbjs, pbts} = require("protobufjs/cli]");
如有错误原因可能有两个1、node命令找不到。2、proto文件编写有问题

为什么按照教程 生成proto文件的 .d.ts描述文件没有生成出来

看下node版本

20.9 這個和node版本有關係嗎

引擎版本是哪个,我看看

[Scene] {hidden(::SceneExecutorImportExceptionHandler::)} ReferenceError: protobuf is not defined
at file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/b6/b6e8c200cebb6d4bde6b37058ad5ec6f481ff950.js:18:23
at CjsLoader._load (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:103:11)
at CjsLoader._tryModuleLoad (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:83:18)
at CjsLoader._require (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:56:16)
at CjsLoader.require (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:36:23)
at Object.execute (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/d0/d0115b36fa1e3b444de6fe084455f81fea27c962.js:41:14)
at doExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:517:30)
at postOrderExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:508:21)
at C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:440:12
at file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/b0/b04882f6528f528d23c15a1a07354592145c07ab.js:13:13
Error: [Scene] {hidden(::SceneExecutorImportExceptionHandler::)} ReferenceError: protobuf is not defined
at CjsLoader._require (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:56:16)
at CjsLoader.require (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/e2/e22b6f02adf5d686a7ebd142d6b23614b189f373.js:36:23)
at Object.execute (file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/d0/d0115b36fa1e3b444de6fe084455f81fea27c962.js:41:14)
at doExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:517:30)
at postOrderExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:508:21)
at C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:440:12
at file:///E:/%E6%88%91%E7%9A%84cocos%E9%A1%B9%E7%9B%AE/exam/temp/programming/packer-driver/targets/editor/chunks/b0/b04882f6528f528d23c15a1a07354592145c07ab.js:13:13
at Logger._logHandler (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\builtin\scene\dist\script\3d\manager\startup\log.ccc:1:318)
at Logger.record (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@base\electron-logger\lib\renderer.ccc:1:458)
at console.error (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@base\electron-logger\lib\renderer.ccc:1:1414)
at ScriptManager._handleImportException (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\builtin\scene\dist\script\3d\manager\scripts.ccc:1:5259)
at Executor.importExceptionHandler [as _importExceptionHandler] (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\builtin\scene\dist\script\3d\manager\scripts.ccc:1:3396)
at Executor._onModuleLoaded (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\src\executor\index.ts:319:22)
at SystemJS.onload (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\src\executor\index.ts:77:18)
at triggerOnload (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:270:10)
at doExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:538:7)
at postOrderExec (C:\ProgramData\cocos\editors\Creator\3.7.4\resources\app.asar\node_modules@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:508:21)

有没有大哥解决了 buffer、long is empty 问题的啊
image