在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
,则调试按预期工作!
答案 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
确实存在,调试器可以找到它。