在 LUA 中使用 require 模块

所以我在 C 驱动器上的 C:\Lua\ 文件夹中有一个主要的 LUA 文件夹(从 zip 文件中提取的文件夹)。如何引用位于: D:\Users\Admin\Desktop\LuaMod\Modules\myModule.lua

的自定义模块到位于:D:\Users\Admin\Desktop\LuaMod\main.lua 的文件中?

我搜索了所有东西,但是没有起作用。

点赞
用户7396148
用户7396148

你可以将路径添加到package.path中,这是lua调用require时查找文件的位置列表。

简单的解决方案:

package.path = package.path .. ";D:/Users/Admin/Desktop/LuaMod/?.lua"

这会导致require查找D:/Users/Admin/Desktop/LuaMod/中给定的.lua文件,但它不会查找嵌套文件夹中的文件(即..\main\main.lua),也不会找到任何.dll文件。

要做到这一点,您可以添加更多位置:

package.path = package.path .. ";D:/Users/Admin/Desktop/LuaMod/?.lua;D:/Users/Admin/Desktop/LuaMod/?/?.lua;D:/Users/Admin/Desktop/LuaMod/?/init.lua"
package.cpath = package.cpath .. ";D:/Users/Admin/Desktop/LuaMod/?.dll;D:/Users/Admin/Desktop/LuaMod/?/?.dll;D:/Users/Admin/Desktop/LuaMod/?/core.dll"

资源:

Lua 用户 Wiki:Package Path

Lua 参考手册:5.3 Modules

2020-02-24 20:09:44
用户12969378
用户12969378

你试过这样吗:

require("Modules/myModule")

因为一个在另一个的子文件夹中,所以可以通过斜杠索引?

2020-02-26 21:43:31