项目中用到了许多 lua 文件, 每个文件都是一个 module ,通过 require 的方式 导入进来。
lua 在 require 时,如果发现以前 require 过,就不会再重新 require 了 。
这样,当我们想在运行时,重置一些脚本的文件的全局变量的值, 仅仅通过再次 require 一次,是无法做到的。
如果想重置某个脚本的状态,需要在 再一次 require 前,加上 package.loaded[luafile] = nil,然后再重新 require ,
就能重置该脚本的状态了。
例如:
列出所有被 require 过的 package
for k,v in pairs(package.loaded) do
print("loaded package:"..k)
end
重置 BattleFormationPage 这个 脚本:
package.loaded["script/home/BattleFormationPage"] = nil -- 在 package.loaded 中置空
BattleFormationPage = require "script/home/BattleFormationPage" -- 重新 require
也可以把所有已经 require 过的脚本重置:
for k,v in pairs(package.loaded) do
package.loaded[k] = nil
end
lua 在 require 时,如果发现以前 require 过,就不会再重新 require 了 。
这样,当我们想在运行时,重置一些脚本的文件的全局变量的值, 仅仅通过再次 require 一次,是无法做到的。
如果想重置某个脚本的状态,需要在 再一次 require 前,加上 package.loaded[luafile] = nil,然后再重新 require ,
就能重置该脚本的状态了。
例如:
列出所有被 require 过的 package
for k,v in pairs(package.loaded) do
print("loaded package:"..k)
end
重置 BattleFormationPage 这个 脚本:
package.loaded["script/home/BattleFormationPage"] = nil -- 在 package.loaded 中置空
BattleFormationPage = require "script/home/BattleFormationPage" -- 重新 require
也可以把所有已经 require 过的脚本重置:
for k,v in pairs(package.loaded) do
package.loaded[k] = nil
end
773

被折叠的 条评论
为什么被折叠?



