0
在使用Typescript和requirejs设置的情况下,所以打字稿被配置为使用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
{
"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