【问题标题】:Get class/function comments at runtime在运行时获取类/函数注释
【发布时间】:2019-06-29 02:31:31
【问题描述】:

我正在寻找一种在运行时在 Angular 应用程序中从类和函数中获取 cmets 的方法,目的是生成自定义文档。使用外部工具生成文档不符合我的要求。我真的需要自己生成文档。

我已经做了一些试验,目前我有两种可能的情况:

  1. 将相关类加载为字符串并使用字符串操作提取 cmets(我认为这不是最好的情况)。

  2. 导入类并使用 ts 提取 cmets。此时,当我尝试导入 ts:import * as ts from 'typescript' 时,我的 Angular 应用程序中遇到了一些错误。它显然会导致循环引用。这段代码展示了如何从一个类中提取 cmets,但它似乎不能在运行时在 Angular 应用程序中使用:comment factory from TypeDoc sources

有人知道从类引用或代表类的字符串中提取 cmets 的方法吗?

【问题讨论】:

    标签: angular typescript reflection comments documentation


    【解决方案1】:

    您要求的是 TypeScript 中元编程的实现,目前尚不可用。您需要了解浏览器不会直接运行 TS 代码。相反,代码被编译成 JavaScript,然后运行时才会发生。而 cmets 只是供程序员查看 - 它不需要转移到生成的 JS 转译代码中。

    Typedoc 仅在编译时工作,因此它可以访问所有 TS 源文件。如果您想创建自己的文档解析工具,那很好,但您需要了解很多关于编程语言解析如何工作的知识。搜索“龙书”、“Let's build a simple interpreter”等来源。

    【讨论】:

    • 好的,所以我正在寻找的唯一方法是将 ts 文件添加到 assets 文件夹并将其内容作为字符串读取并使用正则表达式和其他提取我需要的所有数据字符串操作。
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多