JSDoc Typescript声明:如何隐藏“私有”方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSDoc Typescript声明:如何隐藏“私有”方法相关的知识,希望对你有一定的参考价值。
假设我有一个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;
}
};
此处有更多信息:https://jsdoc.app/tags-ignore.html
以上是关于JSDoc Typescript声明:如何隐藏“私有”方法的主要内容,如果未能解决你的问题,请参考以下文章
在 TypeScript 和/或 JSDoc 中,如何指示记录类型中的某些属性名称是同一类型中兄弟属性的别名?
[TypeScript] Type check JavaScript files using JSDoc and Typescript 2.5