你会认为这看起来很可怕,但你可以做到
@param {module:someModule/SubModule~ExportedClass}
:
我的类型。js公司
/**
* A dummy type module
* @module myModule/MyType
*/
/**
* Dummy type
*/
class MyType {
/**
* Creates a MyType
* @param {Number} foo Some var
* @param {Number} bar Some other var
*/
constructor(foo, bar) {
this.foo = foo;
this.bar = bar;
}
}
module.exports = MyType;
一些代码使用
MyType
/**
* Test
* @inner
* @param {module:myModule/MyType~MyType} c The caption
*/
function test(c){
console.log(c);
}
这会给你这样的东西:
需要注意的关键是,您需要真正明确地使用JSDoc。该文档提供了一个注释,详细说明了如何使用
module:MODULE_NAME
此处的语法:
CommonJS Modules: Module identifiers
.
在大多数情况下,您的CommonJS或Node。js模块应包括
包含
@module
tag
. 这个
@模块
标签的值
应该是传递给
require()
作用例如,如果用户通过调用
require('my/shirt')
,您的JSDoc注释将包含标记
@module my/shirt
.
如果您使用
@模块
没有值的标记,JSDoc将尝试猜测
基于文件路径的正确模块标识符。
当您使用JSDoc时
namepath
参考
模块,您必须添加前缀
module:
.
例如,如果您需要模块的文档
my/pants
链接到模块
my/shirt
,您可以使用
@see
tag
到文档
我的/裤子
像
跟随:
下面是另一个使用精确文件和其他
@模块
实体。js公司
/**
* Person Module
* @module Person
*/
/**
* Creates a person
* @class
*/
function Person(name) {
this.name = name;
this.age = 10;
}
module.exports = {
Person: Person
};
A、 js公司
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
};
精确文件示例渲染