编程语言也从 JavaScript 迁移到了 TypeScript,并成功上线微信小游戏。
一是如何将 JS 代码高效地翻译成 TS 代码。
不过还好,遇到的问题通过 Cocos 论坛、文档都能解决,在此做个记录,希望对你也有所帮助。
1. 升级项目到 2.4.x 引擎版本
所以,我的策略是首将代码移植到 2.4.x TypeScript 上。
在 2.4.10 上,废弃 API 它不会报错,但会以警告的方式提示你。
2. JS转TS脚本
这一步是个体力活,一是对将 JS 脚本翻译为 TS 脚本,二是将新的 TS 脚本重新挂载节点。
3. 升级项目引擎到 3.6.x
重点来了,这一步需要使用 Creator 3.x 提供的升级工具来升级项目。
新建一个 Creator 3.x 工程,从编辑器主菜单上 文件→导入 Cocos Creator 2.x 项目,看下图:
为了排除是因为脚本引起的问题,我使用 2.4.10 重新建了一个 Hello World 工程,添加上 Button 按钮,再导入 3.6.2 依然有这个问题,
4. 升级 3.x 脚本代码
UI 完美再现......OK
组件属性、节点引用、组件方法调用一切 OK!
在 2.x 时使用的 cc.xxx
这种写法不能再用了,必须在脚本顶部做导入模块导入:
//从 cc 模块中解构出 Node、Sprite 变量
import { Node, Sprite } from 'cc'
在使用 VSCode 编写代码时,并不需要我们手动一个个敲 import 引入的模块,编辑器会自动添加,看下面:
小结
- 升级项目到 2.4.10 或最新版;
- 移植脚本到 TypeScript;
- 在 Creator 3.x 中使用 2.x 项目导入工具(注意使用github上的最新版本);
- 修改 3.x 项目中不兼容 2.x 的相关接口代码。
后续我还会有更多 Creator 2.x 升级 3.x 的经验分享,如果本文对你有用,感谢点赞留言!
Creator星球游戏开发社区