visual-studio-2012 - 升级到 .9,在声明文件中,别名模块不再适用于 = 符号的右侧

标签 visual-studio-2012 typescript

升级到 TypeScript .9 后,我的库模块别名不再有效。

例子:
foo.d.tsfoo.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/

相关文章:

visual-studio - 缺少 Visual Studio 2012 商业智能 SSIS 包

c# - 从 C# 错误调用的 PowerShell cmdlet Install-WindowsFeature 未在命令集合中列出

javascript - 如何从对象类型 State 的字段捕获 onChange 事件

html - 在 Angular 2 中使用路由器 socket

javascript - 在 TypeScript 中将类转换为模块

javascript - 如何防止用户在 Angular 8 中输入连续的 "00"?

asp.net 编译时错误 - 对象引用未设置到对象的实例

.net - 从 VS2010 升级到 VS2012 后,Linq to EF Join 抛出 "Index was out of range"

c# - asp.net mvc 可以自动生成时间戳到 js 代码吗?

typescript - TypeScript 可以通过 "extracted" bool 逻辑推断可区分联合的类型吗?