我有一个内部模块,它将模块声明为字符串:
declare module "sequelize" {
// export = ...
}
我想用那个" sequelize"另一个声明文件中的模块。像这样:
/// <reference path="sequelize/sequelize.d.ts" />
declare module Orm {
import Sequelize = require("sequelize");
interface Models {
item: Sequelize.Model<{}, {}>;
}
}
但是当我这样做时,我得到typings/orm.d.ts(4,30): error TS1147: Import declarations in a namespace cannot reference a module.
如果我将import语句移到外面,该文件就变成了一个外部模块,我开始遇到各种错误,例如error TS2503: Cannot find namespace 'Orm'.
有没有办法实现我想要的没有必须在sequelize.d.ts
这样做两个声明:
declare module Sequelize {
// export = ...
}
declare module "sequelize" {
export = Sequelize;
}