Node.js 不同文件中定义的对象的JSdoc

Node.js 不同文件中定义的对象的JSdoc,node.js,jsdoc,Node.js,Jsdoc,我在文件A.js中有一个函数,它接受一个数组,比如Person,它在其他文件entities.js中定义 A.js function put(persons) { } function Person(name) { this.name = name; this.age = 10; } entities.js function put(persons) { } function Person(name) { this.name = name; this.age = 1

我在文件A.js中有一个函数,它接受一个数组,比如Person,它在其他文件entities.js中定义

A.js

function put(persons) {
}
function Person(name) {
   this.name = name;
   this.age = 10;
}
entities.js

function put(persons) {
}
function Person(name) {
   this.name = name;
   this.age = 10;
}
现在,在A.js中,当我为方法put编写JSdoc时,我应该为person输入什么类型?理想情况下应该是{Person[]},但我不知道应该如何引用,因为它存在于不同的文件中。有一种方法可以要求entities.js文件,如:-

var Person = require('./entities').Person;

然后如果我做{Person[]},它可以工作,但我只想为JSDoc导入定义?这是唯一的方法吗?

你会认为这看起来很可怕,但你可以这样做
@param{module:someModule/SubModule~ExportedClass}

MyType.js 使用
MyType
这会给你这样的东西:


需要注意的关键是,您需要真正明确地使用JSDoc。本文档提供了一个注释,详细说明了如何使用
module:module\u NAME
语法指定某些对象或导出是模块的一部分

在大多数情况下,CommonJS或Node.js模块应该包括 独立的JSDoc注释,其中包含一个。
@模块
标记的值 应该是传递给
require()
功能。例如,如果用户通过调用
require('my/shirt')
,您的JSDoc注释将包含标记
@module my/shirt

如果使用没有值的
@module
标记,JSDoc将尝试猜测 基于文件路径的正确模块标识符

当您使用JSDoc时 指 从另一个JSDoc注释中,必须添加前缀
module:
。 例如,如果您需要模块
my/pants
要链接到模块
my/shirt
,您可以使用to文档
my/pants
如下:

下面是另一个使用精确文件和附加
@module
声明的示例:

entities.js A.js 精确的文件示例渲染

你能具体告诉我我的情况是什么吗?我尝试了,{module:entities~Person},但在生成时它并没有变成链接JSdoc@Chacha是的,请看我的最新编辑。如果您还有其他问题,请告诉我。这仍然有效吗?JSDoc充其量也是令人沮丧的,这里的解决方案与我一直试图找到的最接近……但它似乎不起作用——即使复制/粘贴完全正确。
/**
 * Person Module
 * @module Person
 */

/**
 * Creates a person
 * @class
 */
function Person(name) {
    this.name = name;
    this.age = 10;
}

module.exports = {
    Person: Person
};
var Person = require("./entities").Person;

/**
 * Module for putting people somewhere
 * @module A
 */

/**
 * Does something with persons
 * @param {module:Person~Person[]} persons Some people
 */
function put(persons) {}

module.exports = {
    put: put
};