我不明白我做错了什么。我在 VS2012 中创建了一个 TypeScript 项目,并在名为“Physics”的子目录中创建了一个名为“Vector.ts”的文件:
// Module
module Physics {
// Class
export class Vector {
constructor(public x: number) { }
}
}
另外,我有以下 app.ts 文件:
/// <reference path="Physics/Vector.ts" />
window.onload = () => {
var vector = new Physics.Vector(6);
};
该项目已成功编译,但是当我启动它时,出现以下异常:
0x800a1391 - JavaScript 运行时错误:“物理”未定义
我不明白我做错了什么......
Thanks.
如果您将 AMD 风格的模块与模块加载器(例如 Require.Js)一起使用,则需要一条 import 语句。请参阅史蒂夫接受的答案:https://stackoverflow.com/a/14919495/1014822 https://stackoverflow.com/a/14919495/1014822您的代码将类似于:
import Physics = module("Physics/Vector");
var vector = new Physics.Vector(6);
...你不需要这个:/// <reference path="Physics/Vector.ts" />
如果您不使用模块加载器,则只需确保包含您的Vector.js
输出文件位于 html 页面中的某个位置,并确保它在应用程序文件之前加载。在这种情况下,您使用/// <reference path="Physics/Vector.ts" />
告诉 TS 在哪里可以找到智能感知等工作的模块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)