我在其他文件中遇到TypeScript模块。让我解释一下......
我的文件 ModuleOne.ts 包含:
module Messages {
export var TestAlert: string = "It works!";
}
然后在我的 app.ts 中,我有:
/// <reference path="Scripts/typings/jquery/jquery.d.ts" />
/// <reference path="ModuleOne.ts" />
declare var $;
$(function () {
alert(Messages.TestAlert);
});
它编译得很好,但在控制台中,我得到“Uncaught ReferenceError:Messages not defined”。如果我将Messages模块从ModuleOne.ts移动到app.ts,一切正常。如何使用ModuleOne.ts文件中的Messages模块?
答案 0 :(得分:2)
最常见的原因是您没有在页面中包含这两个文件:
<script src="app.js"></script>
这会出错,因为app.js依赖于ModuleOne.js - 因此您还需要添加对它的引用。
<script src="ModuleOne.js"></script>
<script src="app.js"></script>
或者,您可以使用--out标志编译TypeScript,为整个程序生成单个JavaScript文件。
tsc --out final.js app.ts
编译器将为您提供所有依赖项,因此您只需指定顶级文件。