JsDoc + Backbone + CommonJS + WebStorm. Не удается разрешить ссылки на конструктор классов с фасада

Как заставить JsDoc рассматривать параметр как ссылку на конструктор класса?

Привет! Я изо всех сил пытаюсь сделать JsDoc для своей библиотеки, но здесь должно быть что-то, чего мне не хватает. Я задокументировал часть своей библиотеки (в данном примере класс «Отношение»). Фасад библиотеки — это класс «Райс». Он содержит параметр, содержащий ссылку на класс Reference. Я хотел бы иметь возможность, когда мне требуется «Rajs» в другом файле, иметь доступ к документации jsDoc. Но он просто не признает этого.

Я использую Вебсторм.

В этом файле я определяю класс с именем «Отношение».

Отношение.js — «документированный» класс

// File relation.js
//-----------------  
var Backbone = require('backbone');

var Relation = Backbone.Model.extend(
  /** @lends Relation.prototype*/
  {

    /**
     * @class Relation
     * @augments Backbone.Model
     * @constructor
     */
  initialize : function(){
    // Initialization ...
  }

});
module.exports = Relation;

Вот, это фасад моей библиотеки. Ко всему должен быть доступ через «Rajs», что избавит пользователя от необходимости запрашивать каждую часть моей библиотеки. Rajs потребует все, и пользователю просто придется требовать Rajs.

rajs.js -- Фасад

// File rajs.js
//--------------
var Backbone = require('backbone');
var Relation = require('./relation');

var Rajs = Backbone.Model.extend( /** @lends Rajs.prototype */
  {
    /**
     * @class Rajs
     * @augments Backbone.Model
     * @constructor
    */
    initialize : function(){
      // Initialization ...
      this.Relation = Relation;
    }
});
Module.exports = Rajs;

Это будет конечный пользователь. Он потребует('rajs') и должен иметь доступ ко всей библиотеке без необходимости требовать('rajs-x'), ('rajs-y'), ('rajs-z')... Это действительно работает, но я хотел бы предоставить пользователю JsDoc для автозаполнения.

Здесь, в app.js, пользователю требовалось ядро, но он не мог получить доступ к jsDoc для Relation.js. Почему это так?

app.js — файл конечного пользователя

// File app.js
//------------
var Rajs = require('./rajs');
var rajs = new Rajs();
var relation = new rajs.Relation(); //Here, jsDoc does not recognize core.Relation as being of class Relation. Instead, it sees it like a property if Rajs

![Не распознает методы и свойства Relation.js][1]

Спасибо за помощь!


person Ludovic C    schedule 19.01.2014    source источник
comment
соответствующий билет: youtrack.jetbrains.com/issue/WEB-10214   -  person lena    schedule 20.01.2014