我的grunt任务jsdoc跳过这个描述一个对象文字数组的jsdoc:
/**
* @type {{sku:string,
* stockColor:string,
* validTo:string,
* price:string,
* availableStock:string}[]} data
*
*/
var variations = [];
Grunt的错误消息是:
D:\ dev \ ngs-frontend> grunt jsdoc正在运行" jsdoc:dist" (jsdoc)任务
错误:无法解析源文件D的标记类型表达式:\ dev \ ngs-frontend \ src \ assets \ js \ modules \ content \ product-detail \ hse-productdetails.js 标签标题"类型"和文字" {{sku:string,stockColor:string,
validTo:string,price:string,availableStock:string} []}": 无效的类型表达式" {sku:string,stockColor:string,
validTo:string,price:string,avail ableStock:string} []": 预期"!"," =","?"," |"或输入结束但是" ["找到。
据我所知,JSDoc对我来说是正确的。也许grunt jsdoc编译器存在问题?
我正在定义一个对象文字数组。据我所知:
{{name:value,name2:value2} []}
是描述这一点的正确方法。
答案 0 :(得分:1)
这是jsdoc本身的错误/不支持的语法(尝试使用jsdoc 3.4.0),而不是grunt。您应该在https://github.com/jsdoc3/jsdoc/issues/
上报告错误支持语法@type { {a : String, b : Number} }
,但不支持@type { {a : String, b : Number}[] }
您可以使用@typedef
来处理它,例如:
/**
* @typedef { {
* sku:string,
* stockColor:string,
* validTo:string,
* price:string,
* availableStock:string }} variation
*/
/**
* @type {variation[]}
*/
var variations = [];