我正在尝试使用 inversify JS 来注入对 TypeScript App 的依赖项。我首先使用https://github.com/inversify/InversifyJS页面的示例:
// file interfaces.ts
interface Warrior {
fight(): string;
}
// file types.ts
const TYPES = {
Warrior: Symbol("Warrior")
};
export { TYPES };
// file entities.ts
import { injectable, inject } from "inversify";
import "reflect-metadata";
import { Warrior } from "./interfaces"
import { TYPES } from "./types";
@injectable()
class WarriorImpl implements Warrior {
public constructor(){
}
public fight() { return "I fight"; }
}
export { WarriorImpl };
// file inversify.config.ts
import { Container } from "inversify";
import TYPES from "./types";
import { Warrior } from "./interfaces";
import { WarriorImpl } from "./entities";
const myContainer = new Container();
myContainer.bind<Warrior>(TYPES.Warrior).to(WarriorImpl);
export { myContainer };
我应用了示例中提供的但 Vscode 并tsc
通过显示此错误在绑定行失败[ts] Untyped function calls may not accept type arguments. [ts] Cannot find name 'Warrior'.