答えて

0
  1. を示すことによって、結合ラインで失敗したものを適用

    // 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 }; 
    

    :私はhttps://github.com/inversify/InversifyJSページの例を使用して開始しましたそれは、インポートするためのインターフェイス:inversify.config.ts

    // file interfaces.ts 
    export interface Warrior { 
        fight(): string; 
    } 
    
  2. あなたのインポートは次のようになります。

    import { TYPES } from "./types"; 
    
  3. あなたが実際にライブラリ(npm install inversify)がインストールされていることを確認してください。エラーUntyped function calls may not accept type argumentsは欠落しているタイプの情報です。

+0

あなたが入力したものを適用しましたが、問題はインターフェイス名がのダイヤモンド演算子です。私はこれを解決する方法を知らない。 – alibenmessaoud

+0

TypeScriptがライブラリのタイピングを見つけることができますか? 'const myContainer = new Container();と入力するとVSコードでインテリセンスになっていますか? myContainer.'? – Saravana

+0

'tsc'コマンドでも同じエラーが表示されます。 VScodeには関係しません。 – alibenmessaoud

関連する問題