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