首页 > 代码库 > 根据EXML文件,生成组件声明代码
根据EXML文件,生成组件声明代码
工作中时常需要把EXML代码中声明的组件编写到ts文件中,耗时耗力。
因此编写一个小工具,自动生成组件声明代码。
工具代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | var fs = require( "fs" ) var readline = require( ‘readline‘ ); var rl = readline.createInterface(process.stdin, process.stdout); var input = "" ; rl.question( "输入EXML代码:" , function () { }); rl.on( ‘line‘ , function (line) { input += "\n" + line; }); rl.on( ‘close‘ , function () { parseEXML(input); process.exit(0); }); //解析EXML var parseEXML = function (str) { var fileStr = "" ; var linePattern = /\n/g; //获得每一行代码 var arr = str.split(linePattern) for ( var i in arr) { var lineStr = arr[i]; var idParrern = / id=\ "(.*?)\"/i;//匹配ID var idResult = lineStr.match(idParrern); if (idResult) { var idStr = idResult[1] if (idStr.match(/^\d/)) continue;//数字开头的ID跳过 var classNameParrern = /:(.*?) /i;//匹配类名 var classNameResult = lineStr.match(classNameParrern); if (classNameResult[1] == " Config ") continue;//Config跳过 var classNameStr = classNameResult[1]; var nameSpaceParrern = /<(.*?):/i;//匹配命名空间 var nameSapceResult = lineStr.match(nameSpaceParrern); var nameSpaceStr = nameSapceResult[1] == " e " ? " eui " : nameSapceResult[1]; fileStr += " private " + idStr + " : " + nameSpaceStr + " . " + classNameStr + " ;\n "; } } console.log(" \n\n\n生成组件声明代码:\n") console.log(fileStr); } |
null
根据EXML文件,生成组件声明代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。