不能用package.loaders,直接操作package.loaded表
package.loaded[remote.mod] = loadstring(get_remote_code('remote.mod'))
0、一定要使用module加载,这样才能在使用cache的同时进行热更新
1、在执行你的code前
预处理下代码,看需要require哪些module?
-- main.lua
require remote.x
require remote.y
main()
2、直接操作package.loaded表
把module加载进package.loaded
function get_remote_code(mod)
--get code from redis/memcache
end
package.loaded[x.mod] = loadstring(get_remote_code('remote.x'))
package.loaded[y.mod] = loadstring(get_remote_code('remote.y'))
3、执行你的code