ternJS - 生成JSON类型定义文件

时间:2013-09-24 10:14:31

标签: javascript json tern

ternJS有几个。 JSON文件defs,其中包含librarys的定义。有人可以向我解释如何最好地生成我自己的javascript库/或仅定义对象吗?

我看不出这个没有共同的程序?

2 个答案:

答案 0 :(得分:10)

Tern中有一个这样的工具。请参阅http://ternjs.net/doc/manual.html#utils上的condense。它在您的文件上运行Tern并尝试输出它找到的类型。它远没有完美,但对于简单的程序,它运作良好。对于具有复杂结构或接口的文件,您通常必须手写定义。

答案 1 :(得分:4)

我有三种方法可以解决您的问题:

使用抽象语法树分析程序和访问者

解决问题的一种方法是使用抽象语法树解析器访问者,以便自动完成扫描代码并记录代码的任务。

这里的资源将有所帮助:

- http://ramkulkarni.com/blog/understanding-ast-created-by-mozilla-rhino-parser/   - What is JavaScript AST, how to play with it?

您通常使用解析器来检索树,然后使用访问者访问所有节点并在那里完成您的工作。

您基本上会有一棵树代表特定的库,然后您必须编写代码以您链接的def格式存储它。

获取文档生成器并修改

另一个想法是下载文档生成器的源代码,例如: https://github.com/yui/yuidoc/

通过修改样式/输出格式,您可以以适当的json格式生成“文档”。

将现有文档(HTML文档)转换为JSON

你可以创建一个采用标准文档格式的解析器(我敢肯定,因为Javadoc是java的一个,应该有一个用于javascript),并编写一个转换器,将相关信息和存储区分为JSON定义。 / p>