升级到 TypeScript .9 后,我的库模块别名不再有效。
例子:
foo.d.ts 或 foo.ts(可以是任一扩展名)
declare module Foo {
export class Bar {
}
}
import Baz = Foo;
app.ts
/// <reference path="foo.d.ts" />
var a = new Baz.Bar(); // Compiler error on Baz "Could not find symbol 'Baz'"
var b: Baz.Bar; // Works just fine, no compiler error
var c: Baz.Bar = new Baz.Bar(); // Compiler error on second Baz "Could not find symbol 'Baz'"
var d = new Foo.Bar(); // Works just fine
另请注意,它不一定是“new xyz”,它是对等号右侧 Baz 的任何引用。
现在,如果我将 foo.d.ts 中的代码放入 app.ts 中,则不会引发编译器错误。我认为这是一个编译器问题,但我是否遗漏了什么?
更新:我为此创建了一个问题报告:http://typescript.codeplex.com/workitem/1182
最佳答案
这已在最新的 TypeScript 版本 0.9.1 中得到修复 http://blogs.msdn.com/b/typescript/archive/2013/06/28/announcing-typescript-0-9-0-1.aspx
关于visual-studio-2012 - 升级到 .9,在声明文件中,别名模块不再适用于 = 符号的右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17186878/