是否可以在 TypeScript 中导入模块或从 uri 引用定义文件?
我们将 RequireJS 用于我们的应用程序,并希望从 CDN 提供我们的一些定义文件和 TypeScript(或生成的 JavaScript)文件,而不是直接将它们全部包含在我们的项目中。
引用定义文件
在 TypeScript 中,我们可以像这样引用定义文件:
/// <reference path="jquery-1.8.3.d.ts" />
但是,我们想做的是:
/// <reference path="https://github.com/borisyankov/DefinitelyTyped/raw/master/jquery/jquery-1.8.d.ts" />
export class UsesSomethingFromJQuery {
TestMethod(element: JQuery) {
// Do something with the supplied element
}
}
注意:我不打算使用 Boris 的 github 链接作为 CDN。我使用链接来演示这个概念。
导入 TypeScript 文件
我们还想从一个通用网站导入模块,如下所示:
import OtherModule = module('http://some-internal-site/ts/other');
export class UsesSomethingFromOther {
TestMethod(c: OtherModule.TestClass) {
}
}
但是,在为模块提供 uri 时出现错误“导入路径无效”。
我们要解决
的问题 我们有一个 TypeScript 文件库,可以为我们的控件、一些 REST 服务包装器和其他实用程序生成 JavaScript。我们希望在其他 Web 应用程序中使用这些通用控件。
当我们有一个特定于我们的一个网站(因此不是公共核心的一部分)的 TypeScript 文件依赖于公共核心中定义的类时,我们希望使用 uri 来引用依赖项。因此上面的问题。
如果这些只是 JavaScript 源文件,我们会将它们托管在内部 CDN 上并从那里引用,但是在 TypeScript 编译步骤中我们会遇到问题。我们是否以错误的方式处理这个问题?有没有更好的办法?