打字稿:排除'export'关键字似乎会使接口成为全局接口?

时间:2018-07-04 12:58:10

标签: typescript visual-studio-code

最近我在打字稿项目的VSCode中遇到以下情况:

文件:some-interface.ts

// no import statements have been skipped. This is the whole file:
export interface SomeInterface {
    property: AnotherInterface;         
}

和文件:another-interface.ts

export interface AnotherInterface {
    // ...
}

好的-由于some-interface.ts VS代码中没有import语句,因此向我显示了找不到类型AnotherInterface的错误。当然,这是预期的行为。 但是我不小心从export中删除了another-interface.ts关键字-VS代码停止抱怨并且可以正确解析该类型。

那么有人知道这是怎么回事吗?这是预期的行为,还是打字稿或vs代码的错误?

1 个答案:

答案 0 :(得分:5)

  

那么有人知道这是怎么回事吗?这是预期的行为,还是打字稿或vs代码的错误?

这是预期的行为。如果文件中没有export也没有import,则它是 script 而不是模块。然后,在脚本中,所有成员都是全局的。

另请参阅:Classic scripts v/s module scripts in Javascript