我在用TypeScript。
我有内部文件String.ts如下:
module Sgc.Sys {
"use strict";
export class String {
static trim(input: string): string {
return input.replace(/^\s+|\s+$/g, "");
};
//-- other methods below ...
}
}然后,在文件Number.ts (位于String.ts的同一文件夹中)中,我使用了上面定义的方法Sgc.Sys.String.trim():
module Sgc.Sys {
"use strict";
export class Number {
static someMethod(input : string) : string {
//-- some code
var str = Sgc.Sys.String.trim(input);
return str;
};
}
}问题:必须像上面一样定义/调用Sgc.Sys.String的方法trim才能被TypeScript接受,但在运行时Sgc.Sys.String是未定义的,因此Sgs.Sys.String.trim(输入)会触发异常。
当Sgc.Sys.String.trim和Number.ts都在一个文件夹..\Sgc\Sys中时,如何从String.ts内部调用..\Sgc\Sys?
谢谢你,MG
发布于 2012-10-24 19:57:32
必须添加对Number.ts文件的引用:
/// <reference path="String.ts" />发布于 2012-10-24 21:58:52
如果在运行时获得错误,则需要确保在页面中包含两个已编译的JavaScript文件。
根据您的代码示例,我假设您没有使用模块加载。
<script src="/Sgc/Sys/String.js"></script>
<script src="/Sgc/Sys/Number.js"></script>额外的笔记..。
默认情况下,TypeScript的目标是ECMAScript 3,因此“使用严格”状态不会产生任何效果--您需要针对此特性的ECMAScript 5。
https://stackoverflow.com/questions/13054693
复制相似问题