如何在使用AMD时定义和使用打字稿中的枚举?

Cor*_*lix 5 amd typescript

以下tsc命令不会创建可用的foo.d.ts:

TSC -declaration -m amd foo.ts 
Run Code Online (Sandbox Code Playgroud)

foo.ts:

export enum foo {
    bar
}
Run Code Online (Sandbox Code Playgroud)

foo.d.ts:

export declare enum foo {
    bar,
}
Run Code Online (Sandbox Code Playgroud)

///<reference path="./foo.d.ts"/> 
Run Code Online (Sandbox Code Playgroud)

在foo.d.ts中删除"export"之后才能工作.是否有另一种方法在第二个文件中声明foo类型的变量?在我看来引用foo.ts应该有效(它没有):

///<reference path="./foo.ts"/> 
Run Code Online (Sandbox Code Playgroud)

我错过了关键字吗?

bas*_*rat 3

当您在 TypeScript 中使用外部模块时,///<reference注释是不相关的。

要将类型导入到另一个文件中,您需要执行以下操作:

import mod = require('./foo'); 
// Then access the enum object as : mod.foo
Run Code Online (Sandbox Code Playgroud)

要了解内部模块和外部模块,请查看我制作的这个简短视频教程:http://www.youtube.com/watch?v= KDrWLMUY0R0&hd=1