@public JsDoc 标记与@export 一起使用会导致警告

Usage of @public JsDoc tag along with @export leads to a warning

我正在尝试使用闭包编译器编译代码并使用 JsDoc 仅生成 public 文档。

为什么同时使用@public和@export标签prohibited? There is also an unit test检查一下

/**
 * @public
 * @export
 */
function hello(name) {
  alert('Hello, ' + name);
}
hello('New user');

尝试编译时,闭包编译器抛出警告:

JSC_PARSE_ERROR: Parse error. extra visibility tag at line 4 character 3 * @export

Here is an example 使用在线闭包编译器。

如前所述 here 关于 @public:

Indicates that a member or property is public. A property marked @public is accessible to all code in any file. This is the implicit default and rarely used. This is not used to indicate that name should be preserved in obfuscating builds see @export.

那么我怎样才能表明我想要一个特定的符号既是 public 又是导出的?

错误告诉您 @public 隐含在 @export 中。

导出某些东西意味着它将被外部代码使用,这意味着该项目必须是 public。

根据我的经验,您可能只需要知道关于 @public 的一件事,那就是问题的一部分:

[...]This is the implicit default and rarely used[...]