Задать вопрос
affka
@affka
http://affka.ru

Как прописать правильный jsdoc для модулей+неймспейсов?

Хочу совместить неймспейсы и модули в документации, чтобы был базовый модуль (рутовый неймспейс) и внутри него дочерние неймспейсы с классами и т.п.

Пробую делать примерно так:

файл root.js
/**
 * @module test
 */

/**
 * @ namespace
 */
var test = {};

/**
 * MyClass
 * @constructs
 */
test.MyClass = function() {};

module.exports = test;


файл sub1.js
var test = require('./root.js');

/**
 * @ namespace module:test.foo
 */
test.foo = {};

/**
 * @constructs
 */
test.foo.UserModel = function() {};


файл sub2.js
var tst = require('./root.js');

tst.MyClass // ok
tst.foo // в ИДЕ нет подсказки для foo
tst.foo.UserModel // эту модель правильно находит и есть подсказки


Вопрос: почему IDE не находит дочерние неймспейсы и не подставляет их в автозаполнение? Как правильно добавлять в неймспейс классы и дочерние неймспейсы из других модулей? Тег memberOf тоже пробовал, не помогает..

PS: пробел между @ и namespace - сознательный, иначе парсер тостера съедает собаку и делает жирным namespace.
  • Вопрос задан
  • 2414 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
affka
@affka Автор вопроса
http://affka.ru
Нашел-таки способ сам.
В суб-файлах нужно указывать принудительно именя неймспейсов, а от модулей вообще можно отказаться.

/**
 * namespace test
 */
var test = require('./root.js');

/**
 * namespace test.foo
 */
test.foo = {};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы