-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinitByPackagePath.lua
More file actions
28 lines (25 loc) · 1 KB
/
Copy pathinitByPackagePath.lua
File metadata and controls
28 lines (25 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
local out = {}
local parentModuleName = (({ ... })[1]):gsub("\\[^\\]+$", "")
local oldPath = package.path
package.path = package.path .. ("%s\\src\\?.lua;"):format(parentModuleName)
print(("修改后的 package.path 为:%s"):format(package.path))
--- 加载子模块
---@param moduleName string
local function loadModule(moduleName)
local moduleActuallyName = moduleName:match("%.([^%.]+)$")
print(("实际模块名为:%s"):format(moduleActuallyName))
out[moduleActuallyName] = require(moduleName)
print(("成功加载 \"%s\" 模块"):format(moduleActuallyName))
end
-- 加载第一层模块
loadModule("1.CommandInvoker")
loadModule("1.commands.TransferFluid")
loadModule("1.commands.TransferItems")
loadModule("1.commands.TransferSlotToInventory")
loadModule("1.commands.TransferSlotToSlot")
-- 加载第二层模块
loadModule("2.Filter")
loadModule("2.preDefinedFilter")
-- 恢复原来的模块查找路径(不恢复也行,但这样做我看起来舒服一些)
package.path = oldPath
return out