【问题标题】:How do I reference multiple interface files in a Typescript project using Webstorm IDE?如何使用 Webstorm IDE 在 Typescript 项目中引用多个接口文件?
【发布时间】:2014-12-09 17:07:20
【问题描述】:

我已将许多类文件和许多接口文件导入到 WebStorm Typescript 项目中。

如何处理一个类(单个文件)引用多个接口(多个文件)的情况?

我是否需要在每个类(文件)的顶部对每个接口文件都有很多引用?

请注意,我正在使用 Webstorm。我不确定这是否有所不同,但以前我在 Visual Studio 中开发一个 Typescript 应用程序,我不记得在包含我的类的每个文件的顶部都需要任何参考链接。

【问题讨论】:

    标签: javascript typescript webstorm


    【解决方案1】:

    我不确定这是否不同,但之前我在 Visual Studio 中开发一个 Typescript 应用程序,我不记得在包含我的类的每个文件的顶部都需要任何参考链接。

    您可以使用旧的 reference 文件技巧:https://github.com/TypeStrong/grunt-ts#reference

    【讨论】:

    • 感谢您提出这个好建议。你能告诉我最新版本的 WebStorms 9 有没有办法让 grunt 文件自动运行,或者我应该在每次更改后运行它以保持一切更新?
    • 两个选项:您可以使用 grunt-watch :这使得该过程完全脱离了 webstorm 的控制(并且对于社区来说更好,因为他们可以使用他们想要的任何 ide)或者您想在Webstorm 运行类似grunt ts:dev 的命令
    【解决方案2】:

    我一直在这样做:

    import IInterface1 = require('./IInterface1');
    import IInterface2 = require('../IInterface2');
    
    class Class1 implements IInterface1, IInterface2 {
    
    }
    

    【讨论】:

    • 一定有更简单的方法。我有 30 多个类文件和 20 多个接口文件。在 Visual Studio 中,我根本没有任何参考资料,而这一切都只适用于每个界面的智能感知。
    • 我想我已经读到人们可能会创建一个主包含文件。他们在其中引用所有文件的地方,然后只需要在其他任何地方包含该文件。
    【解决方案3】:

    您可以通过以下方式创建主引用文件(mymodule.ts):

    export import IInterface1 = require('./IInterface1');
    export import IInterface2 = require('../IInterface2');
    

    并使用它:

    import mod = require('./mymodule');
    
    export function foo(v: mod.IInterface1) {
    }
    

    这个技巧 - 'export import' 没有在官方 TS 文档中描述,但可以正常工作

    【讨论】:

      猜你喜欢
      • 2016-06-03
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      相关资源
      最近更新 更多