今天遇到一个在运行到某一句代码时提示require进去的一个全局对象是undefined的情况。
总体情况是这样的:
A文件require了B文件里面的对象,
B文件require了C文件里面的对象,
C文件require了A文件里面的对象
A文件是程序入口,当程序执行到C文件是发现require的A里面的对象是undefined的。
最开始不知道怎么回事,也没发现哪里用错了,也不知道怎么改。
然而!!!后来突然想起require是动态加载的!!!!是不需要编译的!!!!也就是当文件Crequire文件A里面的对象的时候,文件A里面的对象还没有被module.exports执行,所以C并不知道A的对象,所以导致了undefined
网友评论