3个简单类在三个单独的Typescript(1.0.1)文件中设置,编译为CommonJS模块
SubA
和SubB
都继承自Klass
。
Klass
也会导入SubB
。
在node
中,正在运行
var SubA = require('./SubA');
var sa = new SubA('blah');
sa.toSubB();
在使用super()
的{{1}}构造函数中的SubB
调用失败
(编辑:在上面的js代码中用SubB替换SubA,不会失败)
您是否看到了解决此问题的方法,或TypeError: Object #<Object> has no method 'call'
无法导入Klass
?
Klass.ts
SubB
SubA.ts
import SubB = require('./SubB')
class Klass {
private name: string
setName(name: string) {
this.name = name
}
getName(): string {
return this.name
}
createSubB(): SubB {
return new SubB(name)
}
}
export = Klass
SubB.ts
import Klass = require('./Klass')
import SubB = require('./SubB')
class SubA extends Klass {
constructor(name:string) {
super()
this.setName(name)
}
toSubB(): SubB {
return new SubB(this.getName())
}
}
export = SubA
import Klass = require('./Klass')
import SubA = require('./SubA')
class SubB extends Klass {
constructor(name:string) {
super()
this.setName(name)
}
toSubA(): SubA {
return new SubA(this.getName())
}
}
export = SubB
命令行选项:tsc
答案 0 :(得分:0)
更改import
和SubA
中SubB
语句的顺序已修复