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