【发布时间】:2017-06-04 14:41:11
【问题描述】:
每当tsc 生成d.ts 文件时,它都会在其中包含declare 字样,如下所示:
export declare class Moment {
name: string;
}
现在,ts 文件中的declare 用于告诉tsc,不应该为declare 的类型生成js。所以它在ts 文件中是有意义的。但是,js 无论如何都不会从 d.ts 文件中生成,为什么要在那里使用这个词?
我试图从上面的代码中删除declare这个词:
export class Moment {
name: string;
}
它的工作原理是一样的。
我找到了以下here:
如果文件具有扩展名 .d.ts,则每个根级别定义必须 将 declare 关键字作为前缀。这有助于明确 作者认为 TypeScript 不会发出任何代码。这 作者需要确保声明的项目在运行时存在。
那么它是d.ts 文件中declare 的唯一用途吗?
请注意,这与this one 不是同一个问题,因为我的问题是关于在d.ts 文件中使用declare,而不是ts 文件。
【问题讨论】:
标签: typescript