Rush Stack商店博客活动
跳至主要内容

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 提出了此增强功能,并讨论了其中涉及的一些挑战。

如何修复

更改符号的声明以具有相同的发行版标签。

另请参阅