首页 文章

使用名称空间来避免从每个文件导入

提问于
浏览
1

根据本文,您可以使用TypeScript命名空间导入类型/接口,而不包括导入:

https://scotch.io/tutorials/3-useful-typescript-tips-for-angular

但是,如果我创建一个namepsace:

export namespace ST {

  export interface Ifoo {

  }
}

为了让它得到认可,我必须像这样导入它:

import {ST} from 'suman-types/dts/foo';

export const foo : ST.Ifoo = function () {

};

有什么我做错了吗?如何使用命名空间轻松导入代码?

也许这只适用于Angular并且不能与CommonJS / Node.js一起使用?不知道为什么不 .

1 回答

  • 0

    正如您在页面上提到的,这实际上并不仅限于Angular .

    我一眼就能看到的是你使用 export 与命名空间本身 .

    export namespace ST {
          export interface Ifoo { }
    }
    

    scotch.io上的示例说你应该只使用嵌套接口导出 . 像这样:

    namespace ST {
          export interface Ifoo { }
    }
    

    这应该可以解决问题 . 然后不再需要 import . 您应该能够在整个应用程序中使用命名空间,而无需任何进一步的输入语句 .

相关问题