清理lua中已经require的文件

时间:2024-05-22 13:23:23

  在做热更的时候, 有时候需要玩家在不重启游戏的时候就能重新加载到新的文件的话, 就需要重新require一次lua文件了。 那么问题来, 到底怎么才能清除require的lua文件。

请看下面的操作:(测试通过)

 

清理lua中已经require的文件

 

代码如下:

function MainScene:removeRequiredByName( preName )
    for key, _ in pairs(package.preload) do
        if string.find(tostring(key), preName) == 1 then
            package.preload[key] = nil
        end
    end
    for key, _ in pairs(package.loaded) do
        if string.find(tostring(key), preName) == 1 then
            package.loaded[key] = nil
        end
    end
end