我正在研究TypeScript和RequireJS。 我想简单的模块需要但缺少模块类型信息。
在这种情况下是否有智能解决方案?
requirejs(['backbone'], (Backbone) => {
// In this function.
// Backbone is 'any'
});
requirejs(['backbone'], (BackboneRef: Backbone) => {
// error : Type reference cannot refer to container
// 型参照でコンテナー 'Backbone' を参照できません。
});
答案 0 :(得分:0)
为此,您需要执行以下操作:
从https://github.com/borisyankov/DefinitelyTyped下载backbone.d.ts,backbone.d.ts提供了typescript强类型接口,如果你使用像Visual Studio这样的IDE,你可以拥有对Backbone的所有intellisense支持< / p>
(可选)在RequireJS中配置主干
在TypeScript类中,您可以像以下
`
/// <amd-dependency path="backbone" />;
/// <reference path="path/to//backbone.d.ts" />;
export class YourModel extends Backbone.Model {
}
amd-dependency告诉编译器如何引用backbone,因此它将在JavaScript中生成正确的define语句。
该引用为Backbone的类型化检查定义提供了一种方法。
希望这有帮助! TypeScript消除了编写long define或者需要js语句的地狱,这在有很多依赖项的情况下可能容易出错。