Edgelang
Edgelang 是一种规则为基础的语言,用户可以通过 Edgelang 编写请求改写规则,
并且 Edgelang 编译器会对这些规则进行跨规则的优化,生成经过优化的高效 Lua 代码。
更多详细信息,请参考最个文档:Edgelang
。
这里我们提供一个输出 hello world 的例子。
新建 Edgelang 模块
我们创建名为 say-hello
的 Edgelang 模块,源码如下:
true =>
say("hello");
导出 Edgelang
点击保存并编译,然后可以从下面的编译历史中下载编译后的 zip 压缩包。
解压后将其中的 .ljbc
文件复制到 nginx.conf
中指定的 lua_package_path
目录下。
此外在列表页面,可以通过多选 Edgelang 模块的方式来一次性导出多个 Edgelang 模块。
使用 Edgelang 模块
在需要用到该规则的地方,通过 require 的方式引用模块,执行模块的 run_rewrite_phase
入口函数。
location /say_hello {
content_by_lua_block {
local hello = require "say-hello"
hello.run_rewrite_phase()
}
}