摘要:是一個運行在上的基于編寫的框架,當前最新版本是預覽版,重構了之前發布的版本。主要特性已經,下個版本為,著重于修復當前路由的匹配。更多使用方法,請參考測試用例。
Lor是一個運行在OpenResty上的基于Lua編寫的Web框架,當前最新版本是0.0.2預覽版,重構了之前發布的0.0.1版本。主要API特性已經freeze,下個版本為0.0.3,著重于修復當前路由的匹配bug。
特性路由采用Sinatra風格,Sinatra是Ruby小而精的web框架.
API基本采用了Express的思路和設計,Node.js跨界開發者可以很快上手.
支持插件(middleware),路由可分組,路由匹配支持string/正則模式.
lor以后會保持核心足夠精簡,擴展功能依賴middleware來實現. lor本身也是基于middleware來實現的.
推薦使用lor作為HTTP API Server,lor此后也會支持模板渲染/Session/Cookie等常規web功能.
提供了一個cli工具lord,可以一鍵生成項目骨架/啟動、停止項目,快速體驗OpenResty和lua開發.
框架文檔在這里
討論交流目前有一個QQ群用于在線討論: 522410959
快速開始在使用lor之前請首先確保OpenResty和luajit已安裝.
一個簡單實例:
local lor = require("lor.index") local app = lor() -- 插件: 對以`/user`開始的請求做過濾處理 app:use("/user", function(req, res, next) req.params.inject = "inject value" next() end) -- 按id查找用戶 app:get("/user/query/:id", function(req, res, next) local query_id = req.params.id -- 從req.params取參數 -- 處理... next() -- 交給下一個調用者 end) app:post("/user/:id/create", function(req, res, next) -- 創建一個用戶 end) -- 404 error app:use(function(req, res, next) if req:isFound() ~= true then res:status(404):send("sorry, not found.") end end) -- 錯誤處理插件,可根據需要定義多個 app:erroruse(function(err, req, res, next) -- err是錯誤對象 res:status(500):send("服務器內發生未知錯誤") end)安裝
使用install.sh安裝lor框架
#如把lor安裝到/opt/lua/lor目錄下 sh install.sh /opt/lua/lor
執行以上命令后lor的命令行工具lord就被安裝在了/usr/local/bin下, 通過which lord查看:
$ which lord /usr/local/bin/lord
lor的運行時包安裝在了/opt/lua/lor下, 通過ll /opt/lua/lor查看:
$ ll /opt/lua/lor total 56 drwxr-xr-x 14 root wheel 476B 1 22 01:18 . drwxrwxrwt 14 root wheel 476B 1 22 01:18 .. -rw-r--r-- 1 root wheel 0B 1 19 23:48 CHANGELOG.md -rw-r--r-- 1 root wheel 1.0K 1 19 23:48 LICENSE -rw-r--r-- 1 root wheel 0B 1 19 23:48 Makefile -rw-r--r-- 1 root wheel 1.9K 1 21 20:59 README-zh.md -rw-r--r-- 1 root wheel 870B 1 21 20:59 README.md drwxr-xr-x 4 root wheel 136B 1 22 00:06 bin -rw-r--r-- 1 root wheel 1.6K 1 19 23:48 install.md -rw-r--r-- 1 root wheel 1.0K 1 21 22:37 install.sh drwxr-xr-x 4 root wheel 136B 1 21 22:40 lor drwxr-xr-x 13 root wheel 442B 1 22 01:17 test
至此, lor框架已經安裝完畢,接下來使用lord命令行工具快速開始一個項目.
使用$ lord -h lor v0.0.2, a Lua web framework based on OpenResty. Usage: lor COMMAND [OPTIONS] Commands: new [name] Create a new application start Starts the server stop Stops the server restart Restart the server version Show version of lor help Show help tips Options: --debug Show some runtime details
執行lord new lor_demo,則會生成一個名為lor_demo的示例項目,然后執行:
cd lor_demo lord start
之后訪問http://localhost:8888/,即可。
更多使用方法,請參考test測試用例。
LicenseMIT
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39229.html
摘要:錯過了一周的優質內容,不要再錯過周一的快速回顧一周深度揭秘啟動全過程翻譯組每周社區問答入門語言簡明入門與提高一只爬蟲崔小拽爬蟲知乎用戶數據爬取和分析如何學習開源動效分析二動畫最佳實踐一工具箱之生命周期工具箱之權限管理一步步創建自己的框 錯過了一周的優質內容,不要再錯過周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動全過程》 SwiftGG翻譯組 -《每周 S...
摘要:錯過了一周的優質內容,不要再錯過周一的快速回顧一周深度揭秘啟動全過程翻譯組每周社區問答入門語言簡明入門與提高一只爬蟲崔小拽爬蟲知乎用戶數據爬取和分析如何學習開源動效分析二動畫最佳實踐一工具箱之生命周期工具箱之權限管理一步步創建自己的框 錯過了一周的優質內容,不要再錯過周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動全過程》 SwiftGG翻譯組 -《每周 S...
摘要:在經過個分支版本的迭代開發后,終于發布了版本。同時帶來了更全面的文檔和介紹,以及一個全站的示例項目。即在命令行直接輸入能正確輸出。 在經過9個分支版本的迭代開發后,lor終于發布了0.1.0版本。同時帶來了更全面的文檔和API介紹,以及一個全站的示例項目OpenResty China。關于lor的詳細介紹如下: Lor是一個運行在OpenResty上的基于Lua編寫的Web框架. 路...
摘要:我們已經用開發了版,還有微信版的應用,已經運行幾個月了,很穩定,上手也簡單,開發的時候不用編譯,直接啟動一個就搞定,部署的時候只需要幾的內存,還可以用做各種事情,高并發防火墻,直接跑在里面,簡直爽歪歪,有機會跟大家分享。示例代碼參見部分 這一章主要介紹怎么使用模板,進行后端渲染,主要用到了lua-resty-template這個庫,直接下載下來,放到lualib里面就行了,推薦第三方庫...
閱讀 3117·2021-11-23 09:51
閱讀 1981·2021-09-09 09:32
閱讀 1090·2019-08-30 15:53
閱讀 2964·2019-08-30 11:19
閱讀 2473·2019-08-29 14:15
閱讀 1440·2019-08-29 13:52
閱讀 558·2019-08-29 12:46
閱讀 2824·2019-08-26 12:18