Yim*_*ura 5 extends class node.js
我有 3 个文件结构,按以下顺序排列,所有这些都包含 1 个类
main.js extends events
events.js extends base
base.js
Run Code Online (Sandbox Code Playgroud)
我已经研究了这些答案,但我的问题似乎并不像以下人员描述的那样。 类型错误:类扩展值未定义不是函数或 null
main.js
const { Events } = require('./events.js');
module.exports = class Main extends Events {
constructor(token) {
super();
// Some code
}
}
Run Code Online (Sandbox Code Playgroud)
事件.js
const { Base } = require('./base.js');
module.exports = class Events extends Base {
constructor() {
super();
}
// more code
}
Run Code Online (Sandbox Code Playgroud)
基础.js
module.exports = class Base{
constructor() {
// Code
}
}
Run Code Online (Sandbox Code Playgroud)
我无法初始化主类,index.js因为这会导致以下错误:
module.exports = class Events extends Base {
^
TypeError: Class extends value undefined is not a constructor or null
Run Code Online (Sandbox Code Playgroud)
我是否以某种方式要求以循环方式上课?我不确定我在这里缺少什么。
jfr*_*d00 10
您可能通过在 index.js 中导入外部模块的方式创建某种循环依赖循环。
但是,看来大多数情况下您只需要对此进行更改:
const { Base } = require('./base.js');
Run Code Online (Sandbox Code Playgroud)
对此:
const Base = require('./base.js');
Run Code Online (Sandbox Code Playgroud)
从此:
const { Events } = require('./events.js');
Run Code Online (Sandbox Code Playgroud)
对此:
const Events = require('./events.js');
Run Code Online (Sandbox Code Playgroud)
当你做这样的事情时:
const { Base } = require('./base.js');
Run Code Online (Sandbox Code Playgroud)
它正在查找名为 的导入模块的属性Base,但没有这样的属性。您将该类作为整个模块导出。因此,这就是您需要分配给变量Base(整个模块)的内容:
const Base = require('./base.js');
Run Code Online (Sandbox Code Playgroud)
如果 index.js 中导入 main.js 的代码尚未正确完成,则也必须正确完成。
| 归档时间: |
|
| 查看次数: |
34368 次 |
| 最近记录: |