【问题标题】:Lua adding package.path to require doesn't workLua将package.path添加到require不起作用
【发布时间】:2020-07-23 11:53:13
【问题描述】:

这是我的文件夹结构:

src/config/objects/bird.lua

src/objects/Bird.lua

在 Bird.lua 中,我尝试使用以下命令导入 src/config/objects/bird.lua:

package.path = package.path .. ';../config/objects/?.lua'
local BIRD = require("bird")

但是它不起作用并且没有找到模块。我做错了什么?

这是我的错误屏幕:

【问题讨论】:

    标签: lua love2d


    【解决方案1】:
    package.path = package.path .. ';../config/objects/?.lua'
    

    这应该可行。

    【讨论】:

    • 我之前试过了,还是不行。对不起,我缺乏信息。我会更新问题
    • 如果你只放一个点,它会起作用吗? package.path = package.path .. ';./config/objects/?.lua'
    • 我找到了解决方案。 require 中的路径必须是相对于 main.lua 的。而我的main.lua在根目录下,写local BIRD = require("src.config.objects.bird")就行了。感谢您的帮助
    【解决方案2】:

    我找到了答案。 Love2d 运行 main.lua 文件,因此require 中的路径必须相对于 main.lua。而且因为我的 main.lua 在根文件夹,我只需要使用:

    local BIRD = require("src.config.objects.bird")
    

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 2015-02-27
      • 2019-05-17
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多