官方链接: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.proto
package pkg1;
syntax = "proto2";
message Bar {
required int32 bar = 1;
}
// pkg2.proto
package 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文件夹中生成需要的文件。
将文件导入工程中,即可在工程中引用。