我有一个带有打字稿的 angular2 项目,我面临着一个我无法理解的奇怪行为。我有一个包含组件的类文件(称为main.ts),因此它在文件顶部有一些导入,并且我创建了一个表示项目中其他地方的自定义类型的类(假设说models/typeFoo.ts)。在typeFoo.ts中,有一个简单的TypeFoo类,没有导入,不知何故,TypeFoo类型可以在main.ts中使用,而无需在main.ts中导入文件。这很奇怪?然后我在typeFoo.ts中导入另一个文件,main.ts自动抱怨TypeFoo不再可见。有人可以解释一下这里发生了什么吗?
main.ts
--models/typeFoo.ts
class TypeFoo {
name:string;
}
不知何故,TypeFoo类型可以在main.ts中使用,而无需在main.ts中导入文件。这很奇怪
如果没有根级别import
或export
则该文件被视为全局文件。添加import
或export
将其转换为模块(一件好事)。
这里涵盖了这一点: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html