我有一个依赖于Backbone
. 我有一个backbone.d.ts
定义,但 TypeScript 似乎不想编译我的模块,除非我的
import Backbone = module("backbone")
实际上指向一个有效的主干模块而不是定义文件。我正在使用 AMD 加载的模块,并为骨干定义了一个 requirejs 垫片。
除了创建假主干.ts 模块定义之外,还有其他解决方法吗?
更新:解决方案的副作用是这样的代码不再有效,因为模块不再存在。由于requirejs shim,它需要存在。我知道的唯一解决方法是拥有两个 .d.ts 文件。一个用于使用主干作为不包含该declare module
位的导入的文件。另一个使用 a/// <reference
确实包括该declare module
行。
/// <reference path="../dep/backbone/backbone.d.ts" />
interface IApi {
version: number;
Events: Backbone.Events;
}