2014-02-21 1 views
2

У меня наконец-то есть время, чтобы официально документировать мой код Марионетки, но я сталкиваюсь с некоторыми проблемами с модулями JSDoc3 и Marionette.Документирование модуля марионеток с RequireJS и JSDoc3

Как бы идти о документировании модуля марионеток, определенном как это:

//Module1.js 
define([... , 'views'], function(..., 'views'){ 
    "usestrict"; 

    //Marionette Module definition: 
    return function(...marionette module params...){ 
     ... 
    } 
} 

, а затем подключить его в документации к виду определенный, как это:

//views.js 
define([...], function(...){ 
    "usestrict"; 

    var itemView = Marionette.ItemView.extend({ 
     ... 
    }; 

    //Uses itemView in a region 
    return Marionette.Layout.extend({ 
     ... 
     //do stuff with itemView 
     ... 
    }); 
} 

?

Спасибо!

+0

Вы говорите: «Я сталкиваюсь с некоторыми проблемами с модулями JSDoc3 и Marionette». С какими проблемами вы столкнулись? Также есть [ответы] (https://stackoverflow.com/questions/19230971/how-do-i-jsdoc-a-nested-objects-methods), которые охватывают общие методы, с помощью которых это можно сделать. – Louis

+0

Спасибо за ссылку! Я не знаю, как я пропустил это в своих поисках. –

+0

Чтобы ответить на ваш вопрос, я получал пустой шаблон index.html. Благодаря вашей ссылке, я понял это! Отправьте ответ прямо сейчас. –

ответ

1

Хорошо, спасибо Луи, я понял, как получить модуль для распознавания. Тогда я смог обходиться с ним достаточно, чтобы получить представление, зарегистрированное как класс для модуля.

Module1.js:

/** @module Module1 */ 
define([... , 'views'], function(..., 'views'){ 
    "usestrict"; 

    /** @lends module:Module1 */ 

    //Marionette Module definition: 
    return function(...marionette module params...){ 
     ... 
    } 
} 

и View.js:

define([...], function(...){ 
    "usestrict"; 

    /** 
    * @name module:Module1.Module1/Views/itemView 
    * @constructor 
    */ 
    var itemView = Marionette.ItemView.extend(
    /** @lends module:Module1.Module1/Views/itemView.prototype */ 
    { 
     ... 
    }; 

    /** 
    * @name module:Module1.Module1/Views/layoutView 
    * @constructor 
    */ 
    return Marionette.Layout.extend(
    /** @lends module:Module1.Module1/Views/layoutView.prototype */ 
    { 
     ... 
     //do stuff with itemView 
     ... 
    }); 
} 

Несколько примечаний:

  • В @name взглядов, то .Module1/на самом деле не требуется, но это облегчает поиск на веб-странице doc.
  • i temView технически является приватным в этом примере, так как он не возвращается, но я хочу, чтобы его можно было найти в документах.

 Смежные вопросы

  • Нет связанных вопросов^_^