【发布时间】:2018-07-02 14:13:57
【问题描述】:
我和我的同事一起创建了一个 Angular 5 应用程序。我为所有接口创建了一个文件夹,并按功能对它们进行分组。但是,我没有在它们上包含任何导出符号,并且在使用它们时,我永远不必导入它们......它们只是存在并且不会产生任何编译错误。我喜欢这种方式,因为它使代码更干净,但我只是在利用一些错误吗?我的同事以“正确”的方式做到了这一点,并且需要在他想要使用界面的任何时候导入。有任何想法吗?您应该如何创建存在于单独文件中的接口?谢谢!
【问题讨论】:
-
如果您的文件中没有导入或导出,则它不是模块,并且您在其中定义的内容会使全局命名空间变得混乱。如果您需要在其中一个文件中导入某种类型,那您就完蛋了。如果你有两个同名的不同接口,你就完蛋了。
-
接口只存在于编译器进行验证;它们在运行时不存在。您不需要导出/导入它们。当然可以,而且它可以更轻松地跟踪界面的位置。
-
@JB Nizet - 并非如此,因为所有接口代码都在编译时被删除。它仅存在于 IDE 中。不知道为什么我注定要将文件导入其中之一,我做得很好。有一次,我确实有 2 个接口名称相同,它确实导致了编译错误,但我不确定这不会发生。
-
Angular CLI:1.6.4 节点:9.4.0 操作系统:darwin x64
-
看起来这是一个重复的问题。 stackoverflow.com/questions/42233987/…
标签: angular typescript