Как заставить 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]
Спасибо за помощь!