有没有办法有条理地忽略一些记录的符号? 我想做这样的事情(伪代码):
/**
* @ignore if dev
*/
var a = 42;
/**
* @ignore if prod
*/
var b = 24;
在这个例子中,如果我将生成器配置为var a
,反之亦然dev
,我希望我的JSDoc生成器只能记录var b
。
这可能吗?
答案 0 :(得分:0)
您可以实现自己的jsdoc plugin来测试忽略条件,并在doclet.ignore
属性中设置其值。将其设置为true
将阻止正在处理的doclet - 而不是将其添加到最终文档中。
exports.defineTags = function(dictionary) {
var env = require('jsdoc/env');
/*
* Usage: @customIgnore prod, test
*/
dictionary.defineTag('customIgnore', {
mustHaveValue: true,
onTagged: function(doclet, tag) {
var i;
// "envParams" is a property of your jsdoc.json
var environments = env.conf.envParams;
// Will hold "prod, test"
var tagValue = tag.value;
var conditionValues = tag.value.split(",");
for (i = 0; i < conditionValues.length && !doclet.ignore; i++) {
if (environments.indexOf(conditionValues[i].trim()) !== -1) {
doclet.ignore = true;
}
}
}
});
};