require的搜索路径由两个全局变量控制,可通过如下方式进行打印:

    1. print(package.path) -- .lua搜索路径
    2. print(package.cpath) -- .so搜索路径

    可通过如下例子添加一个自定义的LUA路径,也即添加package.path的取值:

    1. local p = "/diska/htdocs/work/"
    2. local m_package_path = package.path
    3. package.path = string.format("%s?.lua;%s?/init.lua;%s", p, p, m_package_path)

    添加了搜索路径后,在引用模块时,如果模块还有层级划分,则可通过.的方式引用,例如:

    1. local b = require "a.b" -- 引用搜索路径下a目录下的b