Typescript声明文件 - "export declare"和"export"之间的区别

7
我正在学习TypeScript。当我查看一些源文件时,我发现有时在声明文件.d.ts中会出现export declare...,有时只有export...。经过一些测试,似乎它们是等效的。没有declare就没有区别。
我知道在没有export时需要使用declare,例如:declare var test:any;。但是,export declare和export是否等效呢?
另外一个问题是:在interface和type中是否根本不需要使用declare?如果在.d.ts文件中只放置interface test{},那么test将在没有declare的情况下随处可用。为什么会这样呢?

可能是在“export declare class Actions”中,“declare”是什么意思?的重复问题。 - Joshua Pelton-Stroud
1个回答

0

declare 标记告诉 TypeScript 类或接口的形状在其他地方定义,而不是在“这里”;例如,可以用于由 CDN 提供的类/接口/函数并由 index.html 文件中的 <script> 标签导入(当然还有其他用途)。

如果您正在创建一个应用程序中使用的类或接口,则不需要 declare 标记。

示例:

// my-cool-object.ts

export interface MyCoolObject {
// stuff in my object
}

// my-cool-project.ts

import { MyCoolObject } from './my-cool-object';  // or wherever the interface definition file is located;

const myObject: MyCoolObject;

// ...more code goes here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接