您好,参照您给的教程在creator成功了,但是发布安卓还有windows平台的时候,报了有一堆错误。之前没有把protobuf.js设置为插件。设置插件之后,报了更多错误,但是能正确运行出结果。请问楼主解决这个问题了吗。
解决了,设置为插件的时候一定要勾选‘允许编辑器加载’
收藏学习了!!!!
马克一下
我导出的proto js 文件比较大,编辑器提示我导入为插件,需要把它导入为插件吗? 我的是typeScript工程
需要哇 要不然你用不了哈
测试了,协议文件导出的proto.js 不能导入为插件,导入插件之后, 你的 ts 下的文件引用模块的时候,编辑器会报错,无法找到模块。
不知道是不是 用的问题
我这里 的 合并后的协议.js 文件是 导入为插件的
然后代码里直接就可以用了
集成按照 https://github.com/dcodeIO/protobuf.js 这个仓库提供的方案来的
不过自己做了一些修改
大锅我也遇到几个问题想请教一哈,你没有发现你截图中encode后的protobuf,byteLength:8192 = 8kb,这么一丢丢数据8kb是不是太耗流量了?
还有protobuf预编译生成js文件超级大!!!几个.proto文件生成到一个js,代码行数轻松破万,js文件大小动不动就几百kb,打开js一看每个类里都有大量诸如encode() decode()等方法。如果是开发微信小游戏,代码部分大小限制,这就很…
对啊,导出的js很大,只能压缩一下。会小很多。
压缩下用mini版本的 应该还好吧
优秀,学习了
请问怎样压缩呢?我倒出的也很大
请问怎样压缩呢?
mark一下
在调试matchvs的demo时,里面的protobuf在浏览器上正常,但发布到微信小游戏就报错了。不知道是什么问题,好奇怪。Cannot read property ‘dcodeIO’ of undefined
TypeError: Cannot read property ‘dcodeIO’ of undefined
at http://127.0.0.1:28959/game/src/assets/common/script/basic/rankNetwork/ProtoBuf.js:6:47
at http://127.0.0.1:28959/game/src/assets/common/script/basic/rankNetwork/ProtoBuf.js:7:3
at require (http://127.0.0.1:28959/game/dev/WAGame.js96033)
=========================
mstType.js
“use strict”;
cc._RF.push(module, ‘57b2cIfIk5HLYmy1eO/Sp4Y’, ‘msgType’);
// common/script/basic/rankNetwork/msgType.js
“use strict”;
var protocol = dcodeIO.ProtoBuf.newBuilder({
“populateAccessors”: true
})[‘import’]({
“package”: “protocol”,
“syntax”: “proto2”,
================================
Protobuf.js
/**
-
@license long.js © 2013 Daniel Wirtz dcode@dcode.io
-
Released under the Apache License, Version 2.0
-
see: https://github.com/dcodeIO/long.js for details
*/
(function(global, factory) {console.log(“global-1:”,global);
(global[“dcodeIO”] = global[“dcodeIO”] || {})[“Long”] = factory();
console.log(“global-2:”,global);
/* AMD / if (typeof define === ‘function’ && define[“amd”])
define([], factory);
/ CommonJS / else if (typeof requireJS === ‘function’ && typeof module === “object” && module && module[“exports”])
module[“exports”] = factory();
/ Global */ else
(global[“dcodeIO”] = global[“dcodeIO”] || {})[“Long”] = factory();
})(this, function() {
学习了,大佬