我的咕unt任务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的标签类型表达式
标签标题为“ type”,文本为“ {{sku:string,stockColor:string,
validTo:string,price:string,availableStock:string} []}“:
类型表达式无效“ {sku:string,stockColor:string,
validTo:string,价格:string,可用availableStock:string} []“:
预期为“!”,“ =”,“?”,“ |”或输入结尾,但找到“ [”。
据我所知,JSDoc对我而言是正确的。也许jsdoc编译器有问题?
我正在定义对象文字的数组。据我所知:
{{name:value,name2:value2} []}
是描述这一点的正确方法。
最佳答案
这是jsdoc本身的错误/不受支持的语法(在jsdoc 3.4.0上尝试过),而不是笨拙。您可能应该向他们报告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 = [];
关于javascript - 根据Grunt错误的JSDoc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35551289/