首页 > 其他分享 >通过读取ts注释,生成组件文档系统

通过读取ts注释,生成组件文档系统

时间:2022-12-20 11:37:25浏览次数:64  
标签:读取 ts 注释 文档 组件 import

这篇是对我之前写的从0到1 开发一个自己的ui库的一个补充,之前只写了自定义开发一个ui库,现在对自己开发的ui库进行ts注释解析,然后生成一个文档说明。先呈现这个文档系统效果截图吧。

 

 

 

 生成文档的关键,就是【脚本读取ts注释】,【markDown】,【vite的import静态资源】。

核心逻辑:

1. 首先通过【脚本读取ts注释】,生成一个json,然后开发一个组件【PropsRenderDoc.vue】专门读取json中对应组件的属性信息,这样完成文档的第一步,展示组件的各属性。读取注释的脚本太长了,在这里就不放出来了,可以在仓库地址:https://github.com/lishengqin/standard-vue-cockpit-ui,去拉取代码看看。核心代码:

const program = ts.createProgram([file], { allowJs: true });
const sourceFile = program.getSourceFile(file);
ts.forEachChild(sourceFile, node => {
    // 可以把node打印出来看,会有想要的
})

2. 第二步我们要展示示例效果以及示例源码,这时候就需要【vite的import静态资源】。比如展示按钮组件的基础用法,代码片段如下:

 <component :is="render"></component>   <div class="example-source">{{ comStr }}</div>

const getRenderAndStr = () => { import(`../test/lsq-button/basic.vue`).then(renderModule => { render.value = renderModule.default; // 读取到组件 }); import(`../test/lsq-button/basic.vue?raw`).then(comStrModule => { comStr.value = comStrModule.default; // 读取到组件的文本格式 }); };

 

标签:读取,ts,注释,文档,组件,import
From: https://www.cnblogs.com/grow-up-up/p/16993820.html

相关文章

  • Selenium2.0中文在线文档项目,求翻译达人
    前一阵子在学习selenium2.0,发现网上很多资料都是selenium1.0的且部分信息不准确,无奈只能去官方看英文文档。费劲巴拉的看完了后,就有想法把selenium2.0的文档进行中文翻译,并......
  • nodejs读取excel
     //importpuppeteerfrom'puppeteer'//https://github.com/SheetJS/sheetjsimportreaderfrom'xlsx'constfile=reader.readFile('D:\\doc\\名单.xlsx',{c......
  • new SqlSessionFactoryBuilder().build(inputStream, properties)
    SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream,properties);publicXMLConfigBuilder(InputStreaminputStream,Stringenvir......
  • Kubernets 集群证书过期解决方式
    前因: 今天打开本地测试k8s集群,执行kubectlgetnodes,直接提示证书过期了,如图:  通过提示确实是过期了,那么我们来使用集群证书命令确认以下:执行kubeadmcertscheck-......
  • Python单元测试框架unittest+requests +HTMLTestRunnerNew
    1)写用例TestCase2)执行用例1:TestSuite存储用例,2:TestLoader找用例,存储用例,存放指定的TestSuite3)对比实际结果/期望结果,判定用例是否通过#断言Assert4)出局测试报告TextT......
  • JDBC之ResultSet和元数据
    ResultSet从名字上就可以看到是结果集,表示的是查询出来的结果集。JDBC用ResultSet来封装结果集,查询结果表的对象。查询结果分为两种情况:单值单个结果,比如说SQL如下:s......
  • 字符和文档识别的四十年研究
    Received15February2008Receivedinrevisedform10March2008Accepted11March2008摘要:本文简要介绍在过去的40年中字符和文档识别领域的技术进步,对于每十年中的代表进......
  • 应用笔记 | TSMaster快速入门篇(3)-Trace窗口功能分析图解
    概述Trace窗口是做总线分析时最常用的窗口,主要用于记录总线测量时的各种活动。一、设置显示刷新率为了降低软件CPU占用率,Trace窗口提供了几种显示刷新率让用户选择。如下......
  • WaitForSingleObject与WaitForMultipleObjects用法详解
    在多线程下面,有时候会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用WindowsAPI函数WaitForSingleObject,或者WaitForMultipleObjects。这两个函数都会等待......
  • 【校招VIP】线上实习 推推 书籍详情模块 Java开发文档周最佳
    【推推】主要是为校招设计的小说一更新就通知的项目,每个模块都具有亮点和难点,项目表现为手机网站应用,可嵌入小程序或APP中。恭喜来自四川师范大学的o0hana同学获得本......