Importing TypeScript modules

前端 未结 2 1537
青春惊慌失措
青春惊慌失措 2020-12-05 03:02

I am just trying to get my head around TypeScript,

Say I have a module animals.ts like this:

export module Animals {

    export interfa         


        
相关标签:
2条回答
  • 2020-12-05 03:37

    When you are using external modules each file is a module. So declaring a local internal module within a file e.g. export module Animals { leads to unnecessary double indirection.

    I would code animals.ts as :

    export interface Animal {
        name(): void;
    }
    
    export class Elephant implements Animal {
    
        constructor() {
    
        } 
    
        public name() {
            console.log("Elephant");
        }
    }
    
    export class Horse implements Animal {
    
        constructor() {
    
        }
    
        public name() {
            console.log("Horse");
        }
    }
    

    And then use it as :

    import animals = require("animals")
    
    module AnimalPanel {
    
        var animal = new animals.Elephant();
        animal.name();
    }
    

    PS: a video on this subject of internal / external typescript modules : http://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

    0 讨论(0)
  • 2020-12-05 03:40

    You can use 2 types of syntaxes export/import:

    1. (AMD style) Require syntax which supported in ES5:

      var animals = require("animals");

    2. Use import style which started suppurts from ES6:

      import { Elephant, Horse } from "animals";

    TypeScript supports export = to model the traditional CommonJS and AMD workflow. So both variants will works and I suggest to use 2nd because it more powerful mechanism.

    More details about it can be found on official the TypeScript Modules web page.

    0 讨论(0)
提交回复
热议问题