在TypeScript中是否可以从uri导入模块或引用定义文件?
我们正在将RequireJS用于我们的应用程序,并且希望从CDN提供我们的一些定义文件和TypeScript(或生成的JavaScript)文件,而不是将它们全部直接包含在我们的项目中.
引用定义文件
在TypeScript中,我们可以像这样引用定义文件:
/// <reference path="jquery-1.8.3.d.ts" />
Run Code Online (Sandbox Code Playgroud)
但是,我们想要做的是:
/// <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
}
}
Run Code Online (Sandbox Code Playgroud)
注意:我不打算使用Boris的github链接作为CDN.我用链接来演示这个概念.
导入TypeScript文件
我们还想从一个公共网站导入模块,如下所示:
import OtherModule = module('http://some-internal-site/ts/other');
export class UsesSomethingFromOther {
TestMethod(c: OtherModule.TestClass) {
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在为模块提供uri时,我收到错误"无效的导入路径".
我们要解决的问题
我们有一个TypeScript文件库,可以为我们的控件,一些REST服务包装器和其他实用程序生成JavaScript.我们想在其他Web应用程序中使用这些常用控件.
当我们有一个特定于我们的某个网站的TypeScript文件(因此不是公共核心的一部分)依赖于在公共核心中定义的类时,我们希望使用uri引用依赖关系.因此上面的问题.
如果这些只是JavaScript源文件,我们会将它们托管在内部CDN上并从那里引用,但是使用TypeScript编译步骤我们会遇到问题.我们是以错误的方式接近这个吗?有没有更好的办法?
typescript ×1