cocos creator教程:框架 - 封装
【muzzik 教程】:框架 - 封装
个人认为如何封装不重要,重要的是封装后还要保证易修改和易用才是最重要的,所以这里排除把框架代码打包、以及引用 npm 模块的方式
需要做的事情
- 不影响代码集成后的类型;比如 namespace 集成后还是 namespace,而不是一个 Object,这点很重要
- 部分接口/属性不想暴露给外部
- 框架最先加载
实现流程
1. 采用 npm 包的集成导出方式
mk_export.ts
export { default as a } from "./mk_a.ts";
export { default as b } from "./mk_b.ts";
mk.ts
import * as mk from "./mk_export.ts";
export default self['mk'] = mk;
2. 使用 npm 包@microsoft/api-extractor
生成一个 d.ts 文件
3. 使用全局或者 cocos 的导入映射
全局
- api-extractor 生成的 d.ts 文件 import 改为
///<reference path="xxx"/>
格式
导入映射
- 设置
import-map.json
中 mk 的映射路径为生成的mk.ts
tsconfig.json
中设置 mk 的类型声明为mk.d.ts
"paths": {
"mk": ["./declare/mk.d.ts"]
}
到这里我们就把 mk 的类型转到了生成的 mk.d.ts
,而对象还是 mk.ts
的默认导出,而使用 @microsoft/api-extractor
生成 d.ts 文件也可以自定义,非常方便
框架加载方式
使用插件脚本重载self.cc.assetManager.loadBundle
方法,将框架加载后还原
本文来自博客园,作者:Muzzik,转载请注明原文链接:https://www.cnblogs.com/muzzik/p/17033835.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步