摘要:是一個(gè)運(yùn)行在上的基于編寫(xiě)的框架,當(dāng)前最新版本是預(yù)覽版,重構(gòu)了之前發(fā)布的版本。主要特性已經(jīng),下個(gè)版本為,著重于修復(fù)當(dāng)前路由的匹配。更多使用方法,請(qǐng)參考測(cè)試用例。
Lor是一個(gè)運(yùn)行在OpenResty上的基于Lua編寫(xiě)的Web框架,當(dāng)前最新版本是0.0.2預(yù)覽版,重構(gòu)了之前發(fā)布的0.0.1版本。主要API特性已經(jīng)freeze,下個(gè)版本為0.0.3,著重于修復(fù)當(dāng)前路由的匹配bug。
特性路由采用Sinatra風(fēng)格,Sinatra是Ruby小而精的web框架.
API基本采用了Express的思路和設(shè)計(jì),Node.js跨界開(kāi)發(fā)者可以很快上手.
支持插件(middleware),路由可分組,路由匹配支持string/正則模式.
lor以后會(huì)保持核心足夠精簡(jiǎn),擴(kuò)展功能依賴middleware來(lái)實(shí)現(xiàn). lor本身也是基于middleware來(lái)實(shí)現(xiàn)的.
推薦使用lor作為HTTP API Server,lor此后也會(huì)支持模板渲染/Session/Cookie等常規(guī)web功能.
提供了一個(gè)cli工具lord,可以一鍵生成項(xiàng)目骨架/啟動(dòng)、停止項(xiàng)目,快速體驗(yàn)OpenResty和lua開(kāi)發(fā).
框架文檔在這里
討論交流目前有一個(gè)QQ群用于在線討論: 522410959
快速開(kāi)始在使用lor之前請(qǐng)首先確保OpenResty和luajit已安裝.
一個(gè)簡(jiǎn)單實(shí)例:
local lor = require("lor.index") local app = lor() -- 插件: 對(duì)以`/user`開(kāi)始的請(qǐng)求做過(guò)濾處理 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取參數(shù) -- 處理... next() -- 交給下一個(gè)調(diào)用者 end) app:post("/user/:id/create", function(req, res, next) -- 創(chuàng)建一個(gè)用戶 end) -- 404 error app:use(function(req, res, next) if req:isFound() ~= true then res:status(404):send("sorry, not found.") end end) -- 錯(cuò)誤處理插件,可根據(jù)需要定義多個(gè) app:erroruse(function(err, req, res, next) -- err是錯(cuò)誤對(duì)象 res:status(500):send("服務(wù)器內(nèi)發(fā)生未知錯(cuò)誤") end)安裝
使用install.sh安裝lor框架
#如把lor安裝到/opt/lua/lor目錄下 sh install.sh /opt/lua/lor
執(zhí)行以上命令后lor的命令行工具lord就被安裝在了/usr/local/bin下, 通過(guò)which lord查看:
$ which lord /usr/local/bin/lord
lor的運(yùn)行時(shí)包安裝在了/opt/lua/lor下, 通過(guò)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框架已經(jīng)安裝完畢,接下來(lái)使用lord命令行工具快速開(kāi)始一個(gè)項(xiàng)目.
使用$ 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
執(zhí)行lord new lor_demo,則會(huì)生成一個(gè)名為lor_demo的示例項(xiàng)目,然后執(zhí)行:
cd lor_demo lord start
之后訪問(wèn)http://localhost:8888/,即可。
更多使用方法,請(qǐng)參考test測(cè)試用例。
LicenseMIT
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/39229.html
摘要:錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧一周深度揭秘啟動(dòng)全過(guò)程翻譯組每周社區(qū)問(wèn)答入門(mén)語(yǔ)言簡(jiǎn)明入門(mén)與提高一只爬蟲(chóng)崔小拽爬蟲(chóng)知乎用戶數(shù)據(jù)爬取和分析如何學(xué)習(xí)開(kāi)源動(dòng)效分析二動(dòng)畫(huà)最佳實(shí)踐一工具箱之生命周期工具箱之權(quán)限管理一步步創(chuàng)建自己的框 錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動(dòng)全過(guò)程》 SwiftGG翻譯組 -《每周 S...
摘要:錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧一周深度揭秘啟動(dòng)全過(guò)程翻譯組每周社區(qū)問(wèn)答入門(mén)語(yǔ)言簡(jiǎn)明入門(mén)與提高一只爬蟲(chóng)崔小拽爬蟲(chóng)知乎用戶數(shù)據(jù)爬取和分析如何學(xué)習(xí)開(kāi)源動(dòng)效分析二動(dòng)畫(huà)最佳實(shí)踐一工具箱之生命周期工具箱之權(quán)限管理一步步創(chuàng)建自己的框 錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動(dòng)全過(guò)程》 SwiftGG翻譯組 -《每周 S...
摘要:在經(jīng)過(guò)個(gè)分支版本的迭代開(kāi)發(fā)后,終于發(fā)布了版本。同時(shí)帶來(lái)了更全面的文檔和介紹,以及一個(gè)全站的示例項(xiàng)目。即在命令行直接輸入能正確輸出。 在經(jīng)過(guò)9個(gè)分支版本的迭代開(kāi)發(fā)后,lor終于發(fā)布了0.1.0版本。同時(shí)帶來(lái)了更全面的文檔和API介紹,以及一個(gè)全站的示例項(xiàng)目OpenResty China。關(guān)于lor的詳細(xì)介紹如下: Lor是一個(gè)運(yùn)行在OpenResty上的基于Lua編寫(xiě)的Web框架. 路...
摘要:我們已經(jīng)用開(kāi)發(fā)了版,還有微信版的應(yīng)用,已經(jīng)運(yùn)行幾個(gè)月了,很穩(wěn)定,上手也簡(jiǎn)單,開(kāi)發(fā)的時(shí)候不用編譯,直接啟動(dòng)一個(gè)就搞定,部署的時(shí)候只需要幾的內(nèi)存,還可以用做各種事情,高并發(fā)防火墻,直接跑在里面,簡(jiǎn)直爽歪歪,有機(jī)會(huì)跟大家分享。示例代碼參見(jiàn)部分 這一章主要介紹怎么使用模板,進(jìn)行后端渲染,主要用到了lua-resty-template這個(gè)庫(kù),直接下載下來(lái),放到lualib里面就行了,推薦第三方庫(kù)...
閱讀 3118·2021-11-23 09:51
閱讀 1983·2021-09-09 09:32
閱讀 1094·2019-08-30 15:53
閱讀 2965·2019-08-30 11:19
閱讀 2475·2019-08-29 14:15
閱讀 1442·2019-08-29 13:52
閱讀 560·2019-08-29 12:46
閱讀 2827·2019-08-26 12:18