我有一个我正在研究的Node.JS项目,它的一个非常具体的功能是需要读取目录中的所有JS文件,提取它们的类注释(也可能是类名),然后存储它对象数组中的信息,以便稍后转换为markdown。
我的问题是提取这些组件的最佳方式是什么,例如类名和类注释?
我考虑过阅读文件并解析语法,但为什么要重新发明轮子呢?如果有很好的工具来提取特定的注释,或者解析JS文件的聪明算法,我想听听它们。谢谢!
答案 0 :(得分:1)
有一个工具正是这样做的!看看jsDoc。 https://github.com/jsdoc3/jsdoc
根据评论构建HTML网页就像执行以下操作一样简单:
npm i -g jsdoc
jsdoc yourFile.js
当然,这可以与grunt / gulp结合......
答案 1 :(得分:0)
您可以尝试以下其中一个库:
https://www.npmjs.com/package/parse-comments
答案 2 :(得分:0)
查看将您的代码转换为abstract syntax tree 的解析器。
例如,Esprima可以帮助您解析ES6 JavaScript并提取标识符和注释。
看看this live demo。对于以下类,将生成以下AST:
/**
*
* This is a test class
*
*/
class Foo {
bar() {
console.log('foobar');
}
}
{
"type": "Program",
"body": [
{
"type": "ClassDeclaration",
"id": {
"type": "Identifier",
"name": "Foo"
},
"superClass": null,
"body": {
...
}
]
},
"leadingComments": [
{
"type": "Block",
"value": "*\n *\n * This is a test class\n *\n ",
"range": [
0,
37
]
}
]
}
],
"sourceType": "script"
}