0
typesjsセットアップでTypescriptを使用しているため、typescriptはAMDモジュールを使用するように構成されています。Typescript:エクスポートされたAMDクラスのタイプが見つかりません
私はクラスをエクスポートして別のクラスから使用しようとしています。ここにいくつかのコード例があります。
//file: ClassA.ts
export = class ClassA {
}
//file: ClassB.ts
import ClassA = require("ClassA")
export = class ClassB {
constructor(classA: ClassA) { //ClassA is not found
// However this will work:
let c = new ClassA();
}
}
コンパイル時に次のエラーが発生します。
ClassB.ts(4,25):エラーTS2304:名前 'ClassA'が見つかりません。
しかし、IntellisenseはClassAのインスタンス化でうまくいき、インスタンスに対して完全なインテリセンスを取得します。
ここで私は何が間違っていますか?
編集:ここに私のtsconfig.jsonあなたは、クラスをエクスポートおよびインポートするためのJavaScriptと活字体の構文を混合しているように見えます
{
"compileOnSave": true,
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"module": "amd"
},
"exclude": [
"node_modules",
"wwwroot"
]
}
これが働いて、どうもありがとう! AMDモジュールでes6モジュール構文を使用できるかどうかはわかりませんでした。 – mode777
TypeScriptが使用するモジュール構文はes6に基づいています。コンパイラは、tsconfig.jsonの設定に基づいて、AMDまたはcommonJs構文を生成します。 – blorkfish