我正在通过Durandal"开始使用" DurandalJS.com网站上的指南,除了我尝试使用TypeScript。最后一个演示(Mount Rainier一个)有一个代码如下的模块:
define(function (require) {
var http = require('plugins/http'),
ko = require('knockout');
//other stuff
}
当我在浏览器中运行代码时,一切正常,但我想知道是否可以让TypeScript知道这些类型。我从DefinitelyTyped导入了Durandal,Knockout,jQuery和RequireJS NuGet包,并且我能够通过执行
来获取ko变量类型ko : KnockoutStatic = require('knockout');
这是有效的,因为KnockoutStatic是在Knockout.d.ts文件中声明的接口。但是,在durandal.d.ts文件中,' plugins / http'声明如下,没有命名接口:
declare module 'plugins/http' { /*stuff*/ }
我有三个问题:
答案 0 :(得分:2)
所有三个问题的答案:
import http = require('plugins/http');
此外,您不应该手动“定义”,因为打字稿会为您生成。这些被称为外部模块。
PS:我有关于typescripts模块系统http://youtube.com/watch?hd=1&v=KDrWLMUY0R0
的视频