我正在尝试使用反版本的JS注入TypeScript应用程序的依赖项。我首先使用了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'.。
发布于 2020-05-20 16:50:55
您的示例是干净和正确的,您所要做的就是升级您的package.json中的打字本版本。
"devDependencies": {
"typescript": "3.9.3"
}发布于 2017-09-06 16:30:58
inversify.config.ts中的导入应该是:
从“./type”导入{type};npm install inversify)。错误Untyped function calls may not accept type arguments用于缺少类型信息。https://stackoverflow.com/questions/46080130
复制相似问题