如何在 lua 脚本中使用配置文件

在 openresty 中,要对部分特殊的 url 进行 rewrite,由于 url 比较多,还经常变动,rewrite 时还需要做判断,因此考虑使用 lua 进行处理。

在这个过程中,希望把特殊的 url 作为配置文件写入 table,然后进行判断,那么 lua 如何读取一个配置文件呢?

其实很简单,在 lua 脚本中使用 dofile 即可:

dofile "myconfig.lua"
dofile "/usr/share/myapp/config.lua"

这样的方式比较简单,但是如果遇到错误,会导致整个程序停止运行,如果你希望在遇到读取文件发生错误的时候抛出异常,可以使用以下的方式:

local ok,e = pcall(dofile,"myconfig.lua")
if not ok then
  -- handle error; e has the error message
end