jsdoc-toolkit不喜欢我的语法?

时间:2011-06-27 19:21:02

标签: javascript documentation jsdoc

我第一次使用jsdoc并且它似乎不喜欢我的语法,我找不到它喜欢的任何东西:

(function(){  // issue #1
    /**
     * Creates an instance of a Cube animation
     * @class
     */
    function Cube(x, y, z){
       ...
    }

    /** @lends Cube.prototype */
    cubeFrame.prototype = { // Issue #2
       ...
    }
})();

问题#1:出于某种原因,我收到错误“警告:尝试将 someMethod 记录为未记录的符号Cube的成员。”如果我把那个包装功能留在里面。如果我把它评论出来,它就可以了。

问题#2:我正在对我的课做一些有点奇怪的事情,并且在我将@lends Cube.prototype应用于Cube时,无法找到让jsDoc注意的方法cubeFrame 1}}而不是cubeFrame。我得到一个几乎相同的错误#1:“警告:尝试将getVoxel记录为未记录的符号 cubeFrame 的成员。”我不希望Cube被记录,我希望它的原型进入{{1}}文档。

我可以重新编写这两行并获取生成的文档(然后是无效的代码),但我不想每次做出更改时都必须重新编写代码来生成文档!

1 个答案:

答案 0 :(得分:3)

使用@name标记让jsdoc知道对象的名称,然后知道类的名称,并在对象文字之前将@lends标记替换为右边。像:

(function(){
    /**
     * Creates an instance of a Cube animation
     * @class
     * @name Cube
     */
    function Cube(){
       //...
    }
    cubeFrame.prototype = /** @lends Cube.prototype */{ // Issue #2
       //...
       /**
       */
       someMethod: function(){}
    };
})()