我有一个依赖于Backbone
的模块。 我有一个backbone.d.ts
定义,但是TypeScript似乎不想编译我的模块,除非我的
import Backbone = module("backbone")
实际上指向了一个有效的backbone模块,而不是一个定义文件。我正在使用AMD加载的模块,并且已经为backbone定义了一个requirejs shim。
除了创建一个虚假的backbone.ts模块定义之外,是否有其他解决方法?
更新: 解决方案的副作用是这样的代码将不再起作用,因为模块不再存在。它需要存在的原因是requirejs shim。我所知道的唯一解决方法是拥有两个.d.ts文件。一个用于导入backbone的文件,不包括declare module
部分。另一个用于使用/// <reference
来包含declare module
行。
/// <reference path="../dep/backbone/backbone.d.ts" />
interface IApi {
version: number;
Events: Backbone.Events;
}
module
块,就像 AMD 或 CommonJS 中的普通模块一样。 - Fenton