如何拉取NodeJs模块类列表?

xxhby3vn  于 2023-05-17  发布在  Node.js
关注(0)|答案(1)|浏览(233)

我试图构建一个代码生成器,它将现有的模板文件Map到相关的类文件。它们都来自一个模块,但我不知道如何读取该模块中的类/模块列表。
我基本上需要做什么intellisense正在做的阅读模块信息。
如何通过代码在模块中获取此信息?

gr8qqesn

gr8qqesn1#

我试图构建一个代码生成器,它将现有的模板文件Map到相关的类文件。它们都来自一个模块,但我不知道如何读取该模块中的类/模块列表。
我基本上需要做什么intellisense正在做的阅读模块信息。
如何通过代码在模块中获取此信息?
这完全取决于您要做什么,但是您可能希望使用一个生成抽象语法树(AST)的库,如espree
这个问题对我来说有点不清楚。虽然很明显,您希望能够以编程方式读取模块的内容,但不清楚您是否希望检索函数签名、源代码、仅构造函数列表或其他内容。
您可以使用Object.keys(module)获取模块上每个属性的数组(尽管有一些限制)。您可以通过检查typeof module.property === 'function'来查看哪些属性是函数。
当然,您可以通过编程方式获得更多信息,例如通过在函数上运行.toString()来获得函数的源代码。但是有很多事情可能会出错。所以我会重复我开始的内容:您可能希望使用一个生成抽象语法树(AST)的库,如espree,而不是尝试自己实现它。

相关问题