假设我有一个JavaScript类
/**
* @element my-element
*/
export class MyElement extends HTMLElement {
publicMethod() {}
/** @private */
privateMethod() {}
}
customElements.define('my-element', MyElement);
以及使用declaration
和allowJs
生成的声明文件:
export class MyElement extends HTMLElement {
publicMethod(): void;
/** @private */
privateMethod(): void
}
我也是,在构建后脚本中,将其连接到声明文件:
declare global { interface HTMLElementTagNameMap { 'my-element': MyElement; } }
在打字稿文件中使用此元素时,我可以自动完成方式访问privateMethod
。
import 'my-element'
const me = document.createElement("my-element")
me.// autocompletes `privateMethod`
如何指示tsc
将用@private
JSDoc标记注释的任何方法,字段或属性标记为私有?
您需要对要从文档中排除的那些方法和类使用@ignore
批注。
@ ignore标记指示代码中的符号永远不会出现在文档中。
/**
* @class
* @ignore
*/
function Jacket() {
/** The jacket's color. */
this.color = null;
}
/**
* @namespace
* @ignore
*/
var Clothes = {
/**
* @class
* @ignore
*/
Jacket: function() {
/** The jacket's color. */
this.color = null;
}
};