迁移pb
- 由于3.8不支持js导入,导入pb需要在增加后缀.js
- 由于CJS导出,以前的写法import {proto} from “pb” 不能支持,需要改成import proto_js from “pb”; let pb= proto_js.proto; 才能正常使用d.ts的类型提示
解决代码级别的API升级
使用tsc查看需要解决的报错 ,需要按照错误解决1600多个错误,┭┮﹏┭┮
解决编译器的错误
全局cc替换成import * as cc from “cc”
装饰器的参数类型获取不支持
这里最坑,因为框架基于这个来自动绑定UI和事件发放
@foo fun(a:type)改成 @foo(type) fun(a:type)
写正则替换就好
搞了一周终于把全部错误解决了,也把prefbab迁移过来了
本地跑一起也没有问题
最大的坑
由于代码有一段重写了cc_decorator.property 来做额外的自动绑定
但到了打包后的web包,这个方法变成了原生,可以确定是走到重写这个方法的;后面又没了。
难道每个文件的import不是指向同一个cc吗?那其他这种写法不就大问题了?
后续继续求证