2013-03-05 41 views
0

此代码JSDoc 3命名空间的麻烦

/** 
* * My namespace 
* 
* @namespace 
* 
* @type {Object} 
*/ 
myNamespace = { 

}; 

/** 
* My constructor 
* 
* @constructor 
*/ 
myNamespace.MyConstructor = function() { 

}; 

/** 
* My static class function 
* 
*/ 
myNamespace.MyConstructor.myStaticFunction = function() { 

}; 

编译并给了我一个很好的HTML文件。但myConstructor语法将显示为new MyConstrutor()而不是 右边new myNamespace.MyConstructor()

如果我改变MyConstructor

/** 
* My constructor 
* 
* @constructor 
* @memberOf {myNamespace} 
*/ 
myNamespace.MyConstructor = function() { 

}; 

评论然后我得到的new myNamespace.MyConstructor()预期的结果。但是现在myNamespace.MyConstructor.myStaticFunction甚至没有出现在 的文档中,无论我在3个评论的任何一条中尝试过的标签的排列顺序如何,它都不会以我期望的方式生成。

我试图让myStaticFunction是要么myNamespaceMyConstructormyNamespace.MyConstructor中的一员 - 但它只是不会在该文档中出现的任何地方。

我试着编译与旧的jsdoc-toolkit 2.4并没有问题,甚至不必使用任何类型的memberOf表示法。这里真的很晚,所以我希望有一双新鲜的眼睛能够帮助我。

回答

1

我觉得应该是

* @memberOf myNamespace 

(没有大括号)

随着JSDoc 3.3.0 @memberOf {} myNameSpace对象给出一个错误。