How to import all modules from a directory in TypeScript?

前端 未结 1 728
情书的邮戳
情书的邮戳 2020-12-30 18:41

In TypeScript handbook few techniques for importing modules are described:

  • Import a single export from a module: import { ZipCodeValidator } from \"./Zip
相关标签:
1条回答
  • 2020-12-30 19:40

    No this is not possible. What most people do is create an index.js file which re-exports all files in the same directory.

    Example:

    my-module/
      a.ts
      b.ts
      index.ts
    

    a.ts

    export default function hello() {
      console.log("hello");
    }
    

    b.ts

    export default function world() {
      console.log("world");
    }
    

    index.ts

    export { default as A } from "./a";
    export { default as B } from "./b";
    

    You can use the * character to re-export every export of a module with a single line. Be aware that TypeScript will error if a member with the same name has already been exported though (thanks to @haysclark for the tip).

    export * from "./somePath";
    

    The index name can be dropped (same as in javascript):

    import * as whatever from "./my-module";
    
    console.log(whatever);
    // Logs: { A: [Function: hello], B: [Function: world] }
    
    0 讨论(0)
提交回复
热议问题