TypeScript'var'是未定义的错误

时间:2012-10-12 03:12:49

标签: undefined typescript

我构建了一个控制台应用程序来查找项目中的所有* .ts文件,然后使用tsc.exe编译它们。

一切正常,但是当我将我的JavaScript文件转换为TypeScript时,我最终遇到了以下错误:

ytsc.js(21053,17)Microsoft JScipt运行时错误:'window'未定义

每当我试图扩展窗口时发生这种情况:

window['prop'] = "something";

我测试了代码,直到找到了答案,这与我的代码没什么关系......

1 个答案:

答案 0 :(得分:2)

错误是我的构建工具。

我在调用tsc.exe时声明了-e(execute)命令行选项: 我这样做是因为我认为我可能会在模块中添加一些自动测试代码。

错误原因: 我的大多数代码都在函数中。 但是,有一些地方我想扩展“窗口”(例如,如果旧浏览器中缺少内置函数,我正在填充这些调用)。填充窗口对象的代码在加载文件时运行:

if (window.fun == null) {
    window.fun = function(){...};
}

无论如何,由于-e选项,tsc.exe试图运行代码(在浏览器环境之外)。这导致了上述错误。