我有几个模块都以相同的方式运行并在对象中导出几个函数,如下所示:
module.exports = {
a:function(paramA,paramB) {
return 1;
},
b:function(paramC,paramD) {
return 'a';
}
}
它们都遵循相同的模式(获取这些参数,执行操作并返回此类型)。我希望能够在同一个文件中记录所有这些文件,因此文档不会在任何地方重复出现。我遇到的问题是如果我创建了一个@typedef
指定了这些函数,如果这样做就会被忽略:
/**
* @typedef {Object} myModuleType
* @property {functionType} a
*/
/**
* @module A
* @type {myModuleType}
*/
module.exports = {}
如果我创建一个接口,它会抱怨如果这样做的话,这些方法就不会实现:
/**
* @interface myModuleType
*/
/**
* @function
* @name myModuleType#a
* @param paramA
* @param paramB
* @return {number}
*/
/**
* @module A
* @implements {myModuleType}
*/
module.exports = {}
有关如何使其发挥作用的任何想法?
答案 0 :(得分:0)
因此原始的@type
注释实际上是有效的,它只是在记录后不会像在WebStorm中那样自动完成。
正在YouTrack跟踪WebStorm关于它何时修复的问题。
编辑:截至12/18/2017,这已在最近的WebStorm版本中修复,并且应该很快就会到达主分支。