打字稿引用了误解

时间:2014-05-07 12:39:30

标签: reference typescript

我有一个TypeScript d.ts文件,我从另一个文件引用,但由于某种原因,导出的类定义似乎无法识别。

foo.d.ts

export declare class MyClass {
    constructor();
    public MyFunc(id: number): void;
}

bar.ts

/// <reference path="typings/MyClass.d.ts" />
class BarClass {
    private something: MyClass;
    constructor(thing: MyClass) {
        this.something = thing;
    }
}

这是我能给出的一个简单的例子,但是当我这样做时,我得到Could not find symbol 'MyClass'

我确定在将TypeScript更新到最新版本之前已经习惯了,但是在检查重大更改后,我看不到任何会导致问题的内容。

有人有任何想法吗?

1 个答案:

答案 0 :(得分:3)

删除导出关键字。即

export declare class MyClass {
    constructor();
    public MyFunc(id: number): void;
}

declare class MyClass {
    constructor();
    public MyFunc(id: number): void;
}

原因:文件根目录下的export关键字是为外部模块保留的。外部模块上的视频:http://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1