xxx is not a constructor 报错原因

 

   今天在开发过程中发现改了一处代码后(新加了两行代码,一行是引入某个模块中的一个类,第二行是用这个类new一个对象出来)

 

 

然后发现就报这个错了:

 

 

排查了n久,最后发现是因为模块之间存在彼此引用导致的,文件间来回引用,形成了一个死环。

 

这里举个例子说明下,假如在A文件中引入了B文件,B文件中引入了C文件,此时是没问题的,但是如果在C文件中再引入A文件或者B文件,就会出问题

 

 

解决办法:

尽量不要这样互相引用,如果确实需要,不要在函数外部全局引入模块,像我们一般会将模块引入代码放在代码文件顶部全局引入,改成在函数内部中引入,通过局部引入模块。

posted @ 2021-03-25 21:24  LuckyOven  阅读(5705)  评论(0)    收藏  举报