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()
}
}