1.从egret编译好的main.js或main.min.js找出类
方法: 使用正则表达式
/__reflect\s*\(\s*[^,]+,\s*"([^\"]*)"/g;
如果有命名空间,找出来的类是带命名空间的,比如命名空间是a,类名是b,那匹配到的就是a.b
2.把类挂到window上
代码如下
/**
* 示例自定义插件,您可以查阅 http://developer.egret.com/cn/github/egret-docs/Engine2D/projectConfig/cmdExtensionPlugin/index.html
* 了解如何开发一个自定义插件
*
* 把类挂在window上,对main.min.js或main.js操作
*/
export class AddClass2WindowPlugin implements plugins.Command {
private fileName;
private buffer;
private classRegExp = /__reflect\s*\(\s*[^,]+,\s*"([^\"]*)"/g;;//代码中类名匹配组
private referenceMap = {};//类名到全限定类名映射
private needAddGlobalReferenceClassList = [];//需要添加都window上的类名
private componentReferenceClassList = [];//自定义组件的类名
constructor() {
}
async onFile(file: plugins.File) {
/