我有几个Lua脚本,所有require
脚本都定义了一些常用功能。这会产生类似于C中的标题系统的情况,我会一遍又一遍地重新编译相同的代码。这是不可取的,因为这些脚本是在运行时编译的。我已经有了一个系统来在编译脚本之后缓存二进制文件,但我想知道是否有一种方法来编译require
d脚本和单独使用它们的脚本然后将它们组合起来。
答案 0 :(得分:3)
如果那些调用require的Lua脚本在相同的状态下执行,那么" required"脚本只执行一次,因为它们的返回值缓存在package.loaded
表中。如果你是"要求"它们来自在不同Lua状态下执行的脚本,然后您可以组合并预编译脚本,然后加载一次;您可以使用luac
执行此操作。