![](/img/trans.png)
[英]Nodemailer: Uncaught TypeError: Class extends value undefined is not a constructor or null
[英]Uncaught TypeError: Class extends value #<Object> is not a constructor or null
我的代码适用于所有其他模块,但 JBehaviour 给了我这个问题,并指出我做错了什么,因为看起来我做的一切都是正确的
完整错误:未捕获的类型错误:类扩展值 # 不是构造函数或 Object 处的 null。 (C:\\Users\\etern\\Documents\\GameEngine\\src\\engine\\classes\\JBehaviour.js:3) 在对象。 (C:\\Users\\etern\\Documents\\GameEngine\\src\\engine\\classes\\JBehaviour.js:11)
test_game.js
const {Vector2, GameObject, Rigidbody2d, JBehaviour, Input} = require('./Core')
核心.js
//Structs
const Vector2 = require('./structs/Vector2')
//Classes
const GameObject = require('./classes/GameObject')
const Rigidbody2d = require('./classes/Rigidbody2d')
const JBehaviour = require('./classes/JBehaviour')
const Input = require('./classes/Input')
module.exports = {Vector2, GameObject, Rigidbody2d, JBehaviour, Input}
JBehaviour.js
const Behaviour = require('./Behaviour')
class JBehaviour extends Behaviour{
constructor(){
super('JBehaviour')
}
}
module.exports = JBehaviour
Behaviour.js
const Component = require('./Component')
class Behaviour extends Component{
constructor(name){
super(name)
this.enabled = true
}
}
组件.js
const OBJ = require('./Object')
class Component extends OBJ {
constructor(name){
super(name)
this.gameObject = null
this.tag = null
this.transform = null
}
AssignGameObject(gameObject){
this.gameObject = gameObject
this.tag = gameObject.tag
this.transform = gameObject.transform
}
CompareTag(tag){
return (this.tag === tag)
}
}
module.exports = Component
对象.js
class OBJ{
constructor(name){
this.name = name
}
static Destroy(object){
delete object.name
}
static Instantiate(original){
return new OBJ(original.name)
}
ToString(){
return toString(this.name)
}
}
module.exports = OBJ
您没有导出Behaviour
,因此require('./Behaviour')
返回的值是一个空对象。 不能扩展空对象。
像使用JBehaviour
一样导出Behaviour
:
module.exports = Behaviour
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.