require时报错:loop or previous error loading module "xxx"

语言:Lua

调用方法:require("xxx")

报错:lua: .\xxx.lua:1: loop or previous error loading module 'xxx'


原因:

(1)loop error,循环调用。也就是被require的xxx文件中,模块内部又调用该模块,导致死循环。

方法:修改文件名或者模块名,总之把循环解开。

(2)previous error,调用未定义完变量。在一个表中内部,某个变量调用了一个也是属于表内部的变量。在创建时整个表还压在栈中没完成创建,无法调用到。

方法:把要调用的变量放在最大的表之外,或者不要一次性涵盖在{ }中,分开 table.k = v 这样一句句创建。


版权声明:本文为haobaworenle原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。