ae-different-release-tags
“此符号具有另一个使用不同发行版标签的声明。”
备注
在 TypeScript 语言中,一个符号可以有多个声明。它们被称为“合并声明”,因为它们描述了同一个底层 JavaScript 对象。当合并声明具有不同的发行版标签时,会报告 ae-different-release-tags
错误。
示例
/** @public */
interface Size {
width: number;
height: number;
}
/** @beta */
function Size(width: number, height: number): Size {
return { width, height };
}
// Warning: This symbol has another declaration with a different release tag.
在上面的示例中,Size
符号有一个标记为 @public
的接口声明,但有一个标记为 @beta
的函数声明,因此会报告 ae-different-release-tags
错误。
请注意,混合发行版标签允许用于函数或方法的重载。例如
/**
* Combines two values, by adding the numbers.
* @public
*/
export function combine(x: number, y: number): number;
/**
* Combines two values, by appending the strings.
* @beta
*/
export function combine(x: string, y: string): string;
export function combine(x: number | string, y: number | string): number | string {
return x + y;
}
API 提取器可能允许其他类型的声明具有不同的发行版标签。GitHub 问题 #972 提出了此增强功能,并讨论了其中涉及的一些挑战。
如何修复
更改符号的声明以具有相同的发行版标签。