根据EXML文件,生成组件声明代码

工作中时常需要把EXML代码中声明的组件编写到ts文件中,耗时耗力。

因此编写一个小工具,自动生成组件声明代码。


695469-20170722173148168-436311585.png 


工具代码如下:

 
  
  1. var fs = require("fs")
  2. var readline = require('readline');
  3. var rl = readline.createInterface(process.stdin, process.stdout);
  4. var input = "";
  5. rl.question("输入EXML代码:", function () { });
  6. rl.on('line', function (line) {
  7. input += "\n" + line;
  8. });
  9. rl.on('close', function () {
  10. parseEXML(input);
  11. process.exit(0);
  12. });
  13. //解析EXML
  14. var parseEXML = function (str) {
  15. var fileStr = "";
  16. var linePattern = /\n/g;//获得每一行代码
  17. var arr = str.split(linePattern)
  18. for (var i in arr) {
  19. var lineStr = arr[i];
  20. var idParrern = / id=\"(.*?)\"/i;//匹配ID
  21. var idResult = lineStr.match(idParrern);
  22. if (idResult) {
  23. var idStr = idResult[1]
  24. if (idStr.match(/^\d/)) continue;//数字开头的ID跳过
  25. var classNameParrern = /:(.*?) /i;//匹配类名
  26. var classNameResult = lineStr.match(classNameParrern);
  27. if (classNameResult[1] == "Config") continue;//Config跳过
  28. var classNameStr = classNameResult[1];
  29. var nameSpaceParrern = /<(.*?):/i;//匹配命名空间
  30. var nameSapceResult = lineStr.match(nameSpaceParrern);
  31. var nameSpaceStr = nameSapceResult[1] == "e" ? "eui" : nameSapceResult[1];
  32. fileStr += " private " + idStr + ": " + nameSpaceStr + "." + classNameStr + ";\n";
  33. }
  34. }
  35. console.log("\n\n\n生成组件声明代码:\n")
  36. console.log(fileStr);
  37. }






转载于:https://www.cnblogs.com/xiejunzhao/p/7220146.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
转js代码 def login(): # 登录 headers = { 'Host': 'api.hellobike.com', 'sid': '13e41f4ad36149df99aecdec38ec2afe', 'user-agent': 'Mozilla/5.0 (Linux; Android 8.1.0; Pixel XL Build/OPM4.171019.021.P1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36', 'inner_action': 'user.account.login', 'inner_start_time': '1678247224433', 'hello_token': '3997302216749350083', 'systemcode': '62', 'chaos': 'true', 'signature': '5c946104f5ac7759a2f26b1acefb91fc531ee050', 'nonce': '3e02e95f-be75-4f3e-9d7e-e0b6be1aa277', 'timestamp': '1678247224435', 'fingerprint-hash': '281524c553a4cad9b72604473bf67b587eb1ba1060cbde2585fe38d397cf95fc', 'key-version': '1678240824', 'content-type': 'application/json; charset=UTF-8', } data = 'rr6QPSqA5+HwVd3UzYs+YZjhGvWdG23MEj0VNbNn17tCX3IaI5tPU+ZTMXFVJ0opvoW73DRAxy/9g4wTkJJvHS9uUmstZCE3OY0dHD2hygZq6cOl3TdoTivut6yVhCnmk0EXMl25ic5yc62zdUVUvpKuayhsPraoAOgH5uIRIeNMSC42XCcT7I/AGkW1KNGmGjbvtljiqQzK6BP7P5y2QjHwVUpW7/TN4JKmLYQ2cgbBp8gKmOf5vm+Mdj+dxo1s3rmpxqbbDCW8Tta9XRNURK+6quP9ivaxGWO5JUHODJwuUS2SP6075ldiYNZoKlQnkFu5ZWLECK7GwRWUhHMtBogSDMlgpWWV+k/DiifFQRNOTtatlpSo3wtVfcEVfA/tTWOCOWD8ClSKKvI+Wt20Ooi5xPou2mhe2R4YeGOCAY7K4ZoKOj/P8kZTkiX94HEtLrV6TBCvZK2o70P/YThqqC0P4onuNXZgziWFalCw96GCR/2pGd+uSRDGGodr1sTAAl+i7cihzFjGFbGx24My+XVleHhOALwzpJvPmRrgomyaQSB7GSqB5fmu7aafCTEO3MJzDk20RBtUndvwYqwNhdOA+xyVvEc8kCn2AJcM42ZQxYuIFRTUgwU2V8HPiArl7HA9+L1fCkV08Xjdm2XbCs/nclUMc71TZqJt91oFIprDUMiFG+fzzpupMvwYYjQMgjz7mwLlL43OwFEmQoTiE54fJ9bNv+TMfOrZ5UCuVyuAedbF8mRweZ6O7A1Uzsu7AFdqj5UpGhpHCfxh7fS+dA==' response = requests.post('https://api.hellobike.com/auth', headers=headers, data=data)
07-20

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值