我目前正在Eclipse中发现javascript支持。我感到惊讶/困惑的一件事是轮廓管理。

我已经在线阅读(当然理解“ stackoverflow”;)),我应该在方法上加上@memberof注释。

因此,我从这里开始:

/**
 * @class CustomCanvas
 */
define([], function () {
    var draw;

    /**
     * @method draw
     * @memberOf CustomCanvas
     */
    draw = function () { ... };
});


而且...这是行不通的。我的轮廓保持空白。

但是,如果我将@memberof注释移到类文档中,则可以正常工作:

/**
 * @class CustomCanvas
 * @memberOf CustomCanvas
 */
define([], function () {
    var draw;

    /**
     * @method draw
     */
    draw = function () { ... };
});


那么正确的方法是什么呢?

最佳答案

如果您不想出于任何原因在文档中包含模块,可以执行以下操作:

define(/** @lends global */function () {

/**
 * @class
 */
function CustomCanvas() {
}

/**
 * Draws something...
 */
CustomCanvas.prototype.draw  = function () {
};

return CustomCanvas;

});


如果希望它位于文档的模块中:

/**
 * @module foo
 */
define(/** @lends module:foo */ function () {

/**
 * @class
 */
function CustomCanvas() {
}

/**
 * Draws something...
 */
CustomCanvas.prototype.draw  = function () {
};

return CustomCanvas;

});


我已经通过jsdoc 3.2.2运行了两个代码片段,以确保它们都有效。

09-25 17:17