当前位置:

protobufjs使用教程,支持proto文件打包成typescript或javascript脚本

访客 2024-04-24 791 0

官方链接:https://docs.cocos.com/creator/manual/zh/scripting/modules/example.html

第一步,安装nodejs。(自行安装)

安装教程可参考 https://www.runoob.com/nodejs/nodejs-install-setup.html

第二步,创建cocos新项目,在新项目根目录(assets同级目录)下打开命令行。

通过 npm 安装 protobufjs 并将它写入项目目录下的 package.json 的依赖项。

在项目目录命令行中执行以下命令:

npm install --save protobufjs

通过 npm 安装 protobufjs--cli 并将它写入项目目录下的 package.json 的依赖项。

npm install --save protobufjs-cli

第三步,在项目目录下新建 Proto 目录并定义几个 proto 文件。

// pkg1.protopackage pkg1;syntax = "proto2";message Bar {required int32 bar = 1;}// pkg2.protopackage pkg2;syntax = "proto2";message Baz {required int32 baz = 1;}// unpkg.proto 不属于任何的包syntax = "proto2";message Foo {required int32 foo = 1;}

第四部,增加默认导出。

在项目目录下创建一个 Tools/wrap-pbts-result.js 文件,脚本代码如下:

const fs = require('fs');const ps = require('path');const file = ps.join(__dirname, '..', 'Protojs', 'proto.d.ts');const original = fs.readFileSync(file, { encoding: 'utf8' });fs.writeFileSync(file, `namespace proto {${original}}export default proto;`);

第五部,在 package.json 中定义。

"scripts": {"build-proto:pbjs": "pbjs --dependency protobufjs/minimal.js --target static-module --wrap commonjs --out ./Protojs/proto.js ./Proto/*.proto","build-proto:pbts": "pbts --main --out ./Protojs/proto.d.ts ./Protojs/*.js && node ./Tools/wrap-pbts-result.js"}

第六部,在项目目录打开命令行,安装pbjs和pbts。

npm install -g pbjs
npm install -g pbts

第七部,运行package.json中的两个脚本。

"build-proto:pbjs": "pbjs --dependency protobufjs/minimal.js --target static-module --wrap commonjs --out ./Protojs/proto.js ./Proto/*.proto"
"build-proto:pbts": "pbts --main --out ./Protojs/proto.d.ts ./Protojs/*.js && node ./Tools/wrap-pbts-result.js"

即可在Protojs文件夹中生成需要的文件。

将文件导入工程中,即可在工程中引用。

发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~