typescript 0.9接口导出。可能吗?

时间:2013-06-26 02:02:48

标签: interface typescript

正如我从typescript中读到的那样你现在可以导出这样的类:

// client.ts 
    class Client { 
        constructor(public name: string, public description: string) { } 
    } 
    export = Client; 

// app.ts 
import MyClient = require('./client'); 
var myClient = new MyClient("Joe Smith", "My #1 client");

但是,有没有办法导出接口?

现在我收到一个错误说:

错误TS1003:预期的标识符。

当我尝试做这样的事情时:

// INotifier.ts
    interface INotifier {
        // code
    }
    export = INotifier;

1 个答案:

答案 0 :(得分:4)

我在Visual Studio中尝试了这个,这对我有用,使用import语法(答案更新以反映TypeScript语言的变化):

file1.ts

interface IPoint {
    getDist(): number;
}

export = IPoint;

app.ts

// Obsolete syntax
//import example = module('file1');

// Newer syntax
import example = require('file1');

class Point implements example {
    getDist() {
        return 1;
    }
}

附加说明:在这种情况下,您将无法使用ECMAScript 6样式导入 - 因为它们仅适用于类和模块。

//Won't work because it resolves to a "non-module entity"
import * as example from 'file1';