lua关于require和package.loaded 之间的关系

来源:互联网 发布:人工智能app是什么 编辑:程序博客网 时间:2024/05/16 07:03

用require函数只能加载一次,因为它的特性是:

1、require函数会搜索目录加载文件

2、require会判断是否文件已经加载避免重复加载同一文件。

也许有的小伙伴,会有疑问,为什么要反复加载啊?加载一次不就能用了么?

当我有一些特殊的需求的时候,就可能会需要反复加载某个lua文件,例如我的文件lua文件动态地改变了,或者一些其他特殊原因.

那么,如何实现反复加载一个lua文件?

答案是:二次加载前加这一句package.loaded[luafile] = nil就ok了

例如我们需要反复地required(‘test.lua’),那么第二次加载时的代码如下:

package.loaded[‘test.lua’] = nil

required(‘test.lua’)

0 0
原创粉丝点击