在VS2013中观察TypeScript模块变量

时间:2014-04-16 17:53:55

标签: visual-studio-2013 typescript

在Visual Studio 2013 Update 2RC(TypeScript 1.0)中,尽管以下代码有效,但如果在age上设置断点并将鼠标悬停在该断点上,则不会显示任何内容。你必须看Test.age。 但是代码是正确的,不是吗?

module Test
{
    export var age: number;

    export function go()
    {
        age = 40;
        return age; // put a breakpoint here, and hover over age
    }
}

Test.go();

注意,如果不导出age,则调试按预期工作!

1 个答案:

答案 0 :(得分:0)

VS调试器和TypeScript源地图发射器尚未实现符号映射。要了解发生了什么,请查看生成的代码:

var Test;
(function (Test) {
    Test.age;

    function go() {
        Test.age = 40;
        return Test.age;
    }
    Test.go = go;
})(Test || (Test = {}));

Test.go();

请注意,范围内任何位置都没有名为age变量,只有age模块上名为Test的属性。

如果您从export移除了age,则生成的代码与此对比:

var Test;
(function (Test) {
    var age;

    function go() {
        age = 40;
        return age;
    }
    Test.go = go;
})(Test || (Test = {}));

Test.go();

此处,age确实存在,调试器可以找到它。