const fs = require('fs')
const jsdocFinder = /\/\*\*\n(.+?)\*\//gs
/**
* Convert JSDocs from a file into JSON.
* @function
* @param {String[]|String} dirs The directory or directories of the file(s) to convert.
*/
function interpret (dirs = []) {
if (typeof dir === 'string') dirs = [dirs]
const types = {}
for (const dir of dirs) {
const file = fs.readFileSync(dir, 'utf8')
const docs = jsdocFinder.exec(file)
console.log(docs)
}
return types
}
module.exports = interpret
这是我的函数代码,该函数应该将JSDocs转换为JSON数据。在for
循环中,我使用正则表达式捕获/**\n
和*/
之间的所有文本。不幸的是,它似乎无法处理这些文件。我已经记录了file
等于什么,它应该匹配。我已经测试过Regex,它应该可以正常工作。
https://i.imgur.com/2FlmeBq.png
docs
每次等于null
。
答案 0 :(得分:0)
我发现,由于Windows使用CR LF,因此我需要执行\r\n
。