2011-04-11 11 views
10

का उपयोग कर नामस्थान में प्रोटोटाइप के साथ जावास्क्रिप्ट क्लास को दस्तावेज करना मैं jsdoc-toolkit का उपयोग करके नीचे दिए गए प्रारूप में दस्तावेज़ कोड करने के लिए बहुत मेहनत कर रहा हूं। ऐसा लगता है कि मेरे द्वारा उपयोग किए गए टैग वांछित परिणाम उत्पन्न करना चाहिए लेकिन ऐसा नहीं है। इसके बजाए यह चेतावनी देता है कि कक्षा अनियंत्रित है (क्योंकि इसे केवल बंद करने के अंदर परिभाषित किया गया है) और इसमें नामस्थान के सदस्यों की सूची में वर्ग शामिल नहीं है।jsdoc-toolkit

यदि संभव हो तो @name टैग का उपयोग करने के बिना मैं इसे दस्तावेज करना चाहता हूं। क्या कोई मदद कर सकता है?

/** 
* @namespace The original namespace 
*/ 
var namespace = function() { 
    // private 
    /** 
    * @private 
    */ 
    function _privateMethod() { 

    }; 

    /** 
    * This is the detail about the constructor 
    * @class This is the detail about the class 
    * @param {Object} argone The first argument 
    * @param {Object} argtwo The second argument 
    */ 
    var Class = function (argone, argtwo) { 
     /** 
     * A public member variable 
     */ 
     this.member = "a member"; 
    }; 

    /** 
    * A public method 
    * @param {Object} argone The first argument 
    */ 
    Class.prototype.publicMethod = function (argone) { 

    }; 

    return /** @lends namespace */ { 
     Class: Class 
    } 
}(); 
+2

डॉक्स उत्पन्न करने के लिए आप जेएसडीओसी टूलकिट का किस संस्करण का उपयोग कर रहे हैं? – Stephen

उत्तर

3

मैंने विभिन्न चीजों का एक गुच्छा करने की कोशिश की और यह सबसे अच्छा था जिसके साथ मैं आ सकता था।

पहला भाग ... पर Class पर दस्तावेज़। सबसे पहले ClassmemberOfnamespace बनाएं और फिर Class.prototype पर @lends का उपयोग करें। उदाहरण:

/** 
* @namespace The original namespace 
*/ 
var namespace = function() { 
    // private 
    /** 
    * @private 
    */ 
    function _privateMethod() { 

    }; 

    /** 
    * This is the detail about the constructor 
    * @class This is the detail about the class 
    * @memberOf namespace 
    * @param {Object} argone The first argument 
    * @param {Object} argtwo The second argument 
    */ 
    var Class = function (argone, argtwo) { 
     /** 
     * A public member variable 
     */ 
     this.member = "a member"; 
    }; 

    Class.prototype = 
    /** @lends namespace.Class */ 
    { 
     /** a public method 
      * @param {Object} argone The first argument 
     */ 
     publicMethod: function (argone) { 

     } 
    }; 

    return { 
     Class: Class 
    } 
}(); 

अब, दूसरे भाग ... Class हो रही namespace पर के रूप में दिखाने के लिए। मुझे यकीन नहीं है कि यह कैसे करें ... क्षमा करें! यह कक्षा सूचकांक में namespace.Class के रूप में दिखाई देगा।

0

बस एक टिप के रूप में: jsdoc 2 बग और बुरी प्रथाओं से भरा है।
परियोजना की प्रकृति के आधार पर JSDOC3 ->https://github.com/jsdoc3/jsdoc या कोई jsdoc कोशिश करने पर विचार करें।

+2

जेएसडीओसी 3 या तो काम नहीं कर रहा है। पूरा उपकरण कुछ हद तक हास्यास्पद है। – cepharum

+0

मैं jsdoc3 का उपयोग एनपीएम के माध्यम से कर रहा हूं और यह प्रोटोटाइप को अनदेखा कर रहा है। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^