ternJS有几个。JSON 文件defs包含库的定义。有人可以向我解释如何最好地为我的 javascript 库/或仅定义对象生成我自己的吗?
我看不出有没有通用的程序呢?
Tern 中包含一个用于此目的的工具。请参阅http://ternjs.net/doc/manual.html#utilscondense
。它在您的文件上运行 Tern 并尝试输出它找到的类型。它远非完美无缺,但对于简单的程序来说效果很好。对于具有复杂结构或接口的文件,您通常必须手写定义。
我想了三种方法来解决你的问题:
解决您的问题的一种方法是使用抽象语法树解析器和访问者,以便自动执行扫描代码和记录代码的任务。
这里的资源会有所帮助:
- http://ramkulkarni.com/blog/understanding-ast-created-by-mozilla-rhino-parser/ -什么是 JavaScript AST,如何使用它?
您通常使用解析器来检索树,然后使用访问者访问所有节点并在其中完成您的工作。
您实际上将拥有一个表示特定库的树,然后您必须编写代码以将其存储为您链接到的 def 格式。
另一个想法是下载文档生成器的源代码,例如https://github.com/yui/yuidoc/
通过修改样式/输出格式,您可以生成适当的 json 格式的“文档”。
您可以制作一个采用标准文档格式的解析器(我确信 Javadoc 是一个用于 java 的解析器,应该是一个用于 javascript 的解析器),并编写一个转换器来提取相关信息并存储在 JSON 定义中。