当我尝试在javascript(Nodejs)中的另一个类中访问它时,类变成一个空对象[重复]

Posted

技术标签:

【中文标题】当我尝试在javascript(Nodejs)中的另一个类中访问它时,类变成一个空对象[重复]【英文标题】:Class becoming an empty object while i try to access it within another class in javascript (Nodejs) [duplicate] 【发布时间】:2021-08-13 12:50:55 【问题描述】:
// module1
const B = require("./module2")

module.exports = class A 
   constructor() 

   static fun()
      B.func().....
   

// module2
const A = require("./module1")

module.exports = class B 
   constructor()

   static fun()
      A.fun()...
   

当我从 A 控制台 typeof 类“B”而不是显示函数时,它将类型显示为对象 即:-类变成空对象 如何正确访问类方法。 它显示一个错误,如

A.fun((...) => 
              ^

TypeError: Cannot read property 'fun' of undefined

【问题讨论】:

这看起来像一个循环依赖。 A 想要 B 的东西,B 想要 A 的东西。不确定这是否可行。 @TusharShahi Cyclic dependencies can work,但在这种情况下你是对的,它带有警告。 【参考方案1】:

这两个模块似乎相互指向 试试这个:

// A.js
import B from './B.js'
export default class A

// B.js
import A from './A.js'
export default class B extends A

【讨论】:

以上是关于当我尝试在javascript(Nodejs)中的另一个类中访问它时,类变成一个空对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到模块 AngularJS+NodeJs

Nodejs 加密模块不适用于打字稿

如何在 NodeJS 14 中允许 CORS

打字稿文件中的Nodejs加密

脚本不会从 nodejs 应用程序中的 ejs 文件运行

如何在 url 中传递参数,在 NodeJS 后端的 javascript 服务器端使用冒号?