Node.js 不同文件中定义的对象的JSdoc
我在文件A.js中有一个函数,它接受一个数组,比如Person,它在其他文件entities.js中定义 A.jsNode.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
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
};