我正在寻找一种在 Angular 应用程序运行时从类和函数获取注释的方法,目的是生成自定义文档。使用外部工具生成文档不符合我的要求。我真的需要自己生成文档。
我已经进行了一些尝试,目前有两种可能的情况:
将相关类作为字符串加载,并通过字符串操作提取注释(在我看来这不是最好的情况)。
导入类并使用 ts 提取注释。此时,当我尝试导入 ts 时,我的 Angular 应用程序中遇到了一些错误:
import * as ts from 'typescript'
。这显然会导致循环引用。此代码显示了如何从类中提取注释,但它似乎无法在运行时在 Angular 应用程序中使用:comment factory from TypeDoc sources
有人知道如何从类引用或表示类的字符串中提取注释吗?
最佳答案
您要求的是 TypeScript 中元编程的实现,目前尚不可用。您需要了解浏览器并不直接运行 TS 代码。相反,代码被编译为 JavaScript,然后运行时才会发生。注释只是供程序员查看的 - 它不需要转移到生成的 JS 转译代码中。
Typedoc 仅在编译时工作,因此它可以访问所有 TS 源文件。如果您想创建自己的文档解析工具,那很好,但是您需要了解很多有关编程语言解析工作原理的知识。搜索“龙书”、“Let's build a simple interpreter”和其他来源。
关于angular - 在运行时获取类/函数注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531585/