学说
教义是一种 JSDoc 解析来自JavaScript的文档注释的解析器(需要传入注释,而不是整个JavaScript文件)。
安装
您可以使用 npm:
$ npm install doctrine --save-dev
原则也可以用在网页浏览器中使用 Browserify。
用法
JavaScript中的Require原则:
var doctrine = require("doctrine");
parse ()
主要方法是 parse(),它接受两个参数:要解析的JSDoc注释和可选的options对象。可用的选项有:
unwrap-设置为true删除前导/**,任何*这是一行的开头,后面跟着一行*/从源文本。默认值:false。tags-要返回的标记数组。指定时,Doctrine只返回此数组中的标记。例如,如果tags是["param"]那么,只有@param标签将被退回。默认值:null。recoverable-设置为true即使出现语法错误也要继续进行解析。默认值:false。sloppy-设置为true允许在括号中指定可选参数(@param {string} [foo]). 默认值:false。lineNumbers-设置为true添加lineNumber到每个节点,指定在源中找到该节点的行。默认值:false。range-设置为true添加range到每个节点,在原始注释中指定节点的开始和结束索引。默认值:false。
这里有一个简单的例子:
var ast = doctrine.parse(
[
"/**",
" * This function comment is parsed by doctrine",
" * @param {{ok:String}} userName",
"*/"
].join('\n'), { unwrap: true });
这个例子返回以下AST:
{
"description": "This function comment is parsed by doctrine",
"tags": [
{
"title": "param",
"description": null,
"type": {
"type": "RecordType",
"fields": [
{
"type": "FieldType",
"key": "ok",
"value": {
"type": "NameExpression",
"name": "String"
}
}
]
},
"name": "userName"
}
]
}
看到 演示页面 更多细节。
团队
这些人保持着项目的进展,是帮助的资源:
- 尼古拉斯·c·扎卡斯(@nzakas) -项目主管
- 铃木佑介(@constellation) -审稿人
贡献
问题和pull请求将被分类并尽快做出回应。我们在 ESLint贡献者指南,所以请务必在投稿前阅读它们。如果您不确定在哪里挖掘,请查看 问题。
常见问题
我可以将整个JavaScript文件传递给Doctrine吗?
否。Doctrine只能解析JSDoc注释,因此您只需要将JSDoc注释传递给Doctrine就可以工作了。
许可证
学说
JS基金会及其他贡献者版权所有, https://js.foundation
根据Apache许可证2.0版(“许可证”)进行许可; 除非遵守许可,否则您不得使用此文件。 您可以从以下网址获得许可证的副本
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,软件 在本许可项下分发的是按“现状”分发的, 不作任何明示或暗示的保证或条件。 有关管理权限的特定语言,请参阅许可证 许可证下的限制。
esprima
有些函数是由esprima派生的
版权所有(C) 2012, 2011 Ariya希 (推特: @ariyahidayat)和其他贡献者。
重新分发和使用的源代码和二进制形式,有或没有 在满足下列条件的情况下,允许进行修改:
-
重新发布源代码必须保留上述版权 注意,此条件列表和以下免责声明。
-
以二进制形式重新发布必须复制上述版权 注意,本条件列表和以下免责声明中的 随发行版提供的文件和/或其他材料。
本软件由版权所有者和贡献者“按原样”提供。 以及任何明示或暗示的保证,包括但不限于 对适销性和适合某一特定目的的默示保证 是否认。在任何情况下,我都不承担任何责任 直接的、间接的、偶然的、特殊的、惩戒性的或后果性的损害 (包括但不限于,替代商品或服务的采购; 损失:失去使用、数据或利润;或业务中断),无论如何引起和 在任何责任理论中,无论是合同责任、严格责任还是侵权责任 (包括疏忽或其他)因使用 本软件即使被告知有这种损害的可能性。
closure-compiler
一些扩展派生自闭包编译器
Apache许可 版本2.0,2004年1月 http://www.apache.org/licenses/
去哪里寻求帮助?
加入我们的 聊天室