在JSDOC中记录属性默认值时,我找不到打印空间的方法。例:
/**
* @prop {string} str='String with space' - The string.
*/
这将记录为:
Name Type Default Description
str string 'String with space' - The string
有任何建议如何正确吗?
答案 0 :(得分:4)
至少从jsdoc 3.3.0开始,你可以这样做。
/**
* @prop {string} [str=String with space] - The string.
*/
答案 1 :(得分:2)
我没有完全解决方案,但今天我遇到了同样的问题并找到了解决办法。 :)问题是,如果我们使用可选括号,当前的jsdoc解析器(和正则表达式)只能正确处理这个问题。在这种情况下,我们希望默认不是可选的。
在模板的publish.js内添加此项。我使用“ - ”作为分隔符,所以使这个工作,在你的描述上使用“ - ”,这将正确地对解析器进行后处理。
data().each(function(doclet) {
if (doclet.properties) {
doclet.properties = doclet.properties.map(function(property) {
var separator = " - ",
separatorLength = separator.length;
var defaultvalue = property.defaultvalue;
var description = property.description;
if( property.defaultvalue !== 'undefined' && !property.optional && description.indexOf(separator) > 0) {
var index = description.indexOf(separator);
defaultvalue += " " + description.substr(separatorLength, index-separatorLength);
description = "<p>" + description.substr(index + separatorLength, description.length);
}
return {
defaultvalue: defaultvalue,
description: description,
type: property.type,
name: property.name
}
});
}
});