LUA
lua 版本 (5.1+)
当前多数模块对lua的版本都是5.1以上,因此要注意版本。
luarocks
Luarocks 是一个用于 Lua 编程语言的包管理器。类似java中的maven,python中的pip。
luarocks 可从网址查看是否具有响应的包,网址:https://luarocks.org/
luarocks install lpeg 2.5
对于手动下载的模块源码,可以查找对应的 rockspec 文件,执行。
示例:
luarocks make lua-tinyyaml-1.0-0.rockspec
vscode加载lua
1.安装lua debug 插件
应用的vsCode环境中的项目settings.json填写以下内容:
{
"lua.debug.settings.luaVersion": "lua51",
"lua.debug.settings.cpath": "D:\\software\\LUA5.1\\lua\\?.dll;${workspaceFolder}/?.dll",
"lua.debug.settings.path": "D:\\software\\LUA5.1\\lua\\?.lua;${workspaceFolder}/?.lua"
}
常用模块
tinny yaml
因tinnyyaml不依赖其它项也无so文件,如果下载不下来,可以手动从git上下载,将tinny-yaml.lua放入到lua5.1/lua下。
local yaml = require("tinyyaml")
local template = require("resty.template")
local file = io.open("./config/config.yaml", "r")
local content
if file then
content = file:read("*a")
file:close()
-- 此时content变量中存储了YAML文件的全部内容
else
print("无法打开配置文件")
return
end
if content then
local configData = yaml.parse(content)
print(configData.waf.enabled)
end
resty template
local template = require("resty.template")
local sys_conf = {
waf = "on"
}
local ngx_tpl = [[
waf = {* waf *};
{{waf}}
]]
local conf_render = template.compile(ngx_tpl)
local ngxconf = conf_render(sys_conf)
print(ngxconf)
标签:luarocks,入门,yaml,lua,content,LUA,template,local
From: https://www.cnblogs.com/DennyZhao/p/18613980