摘要:在经过个分支版本的迭代开发后,终于发布了版本。同时带来了更全面的文档和介绍,以及一个全站的示例项目。即在命令行直接输入能正确输出。
在经过9个分支版本的迭代开发后,lor终于发布了0.1.0版本。同时带来了更全面的文档和API介绍,以及一个全站的示例项目OpenResty China。关于lor的详细介绍如下:
Lor是一个运行在OpenResty上的基于Lua编写的Web框架.
路由采用Sinatra风格,Sinatra是Ruby小而精的web框架.
API基本采用了Express的思路和设计,Node.js跨界开发者可以很快上手.
支持插件(middleware),路由可分组,路由匹配支持strin或正则模式.
lor以后会保持核心足够精简,扩展功能依赖middleware来实现. lor本身也是基于middleware构建的.
推荐使用lor作为HTTP API Server,lor也已支持session/cookie/html template等功能.
简单示例项目lor-example
全站示例项目openresty-china
文档http://lor.sumory.com
快速开始特别注意: 在使用lor之前请首先确保OpenResty和luajit已安装,并配置到环境变量中。即在命令行直接输入nginx -v、luajit -v能正确输出。
一个简单示例,更复杂的示例或项目模板请使用lord命令生成:
local lor = require("lor.index") local app = lor() app:get("/", function(req, res, next) res:send("hello world!") end) -- 路由示例: 匹配/query/123?foo=bar app:get("/query/:id", function(req, res, next) local foo = req.query.foo local path_id = req.params.id res:json({ foo = foo, id = path_id }) end) -- 404 error app:use(function(req, res, next) if req:is_found() ~= 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框架,强烈建议在使用install.sh安装前阅读该脚本代码。
# 把lor安装到/opt/lua/lor目录下 sh install.sh /opt/lua # 或者安装到默认目录/usr/local/lor下 sh install.sh
执行以上命令后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.0K 1 21 22:37 install.sh drwxr-xr-x 4 root wheel 136B 1 21 22:40 lor
至此, lor框架已经安装完毕,接下来使用lord命令行工具快速开始一个项目骨架.
使用$ lord -h lor ${version}, 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
执行lord new lor_demo,则会生成一个名为lor_demo的示例项目,然后执行:
cd lor_demo lord start
之后访问http://localhost:8888/,即可。
LicenseMIT
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39262.html
摘要:是一个运行在上的基于编写的框架,当前最新版本是预览版,重构了之前发布的版本。主要特性已经,下个版本为,着重于修复当前路由的匹配。更多使用方法,请参考测试用例。 Lor是一个运行在OpenResty上的基于Lua编写的Web框架,当前最新版本是0.0.2预览版,重构了之前发布的0.0.1版本。主要API特性已经freeze,下个版本为0.0.3,着重于修复当前路由的匹配bug。 特性 ...
摘要:简介在发布了基于的开发框架后,开发了基于的一个社区系统,它是框架最为典型的示范示例,涉及了基于开发应用的方方面面,是入门开发和框架的良好范例。示例站点更多介绍请见 简介 在发布了基于OpenResty的web开发框架lor后,开发了基于lor的一个社区系统OpenResty China,它是lor框架最为典型的示范示例,涉及了基于OpenResty开发web应用的方方面面,是入门Ope...
摘要:是一个基于的,提供及自定义规则的监控和管理,如访问统计流量切分重定向防火墙等功能。第三方版的已在开发中,届时会伴随一起发布。 Orange Orange是一个基于OpenResty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、WEB防火墙等功能。它有以下特性: 配置项支持文件存储和MySQL存储(0.2.0版本开始将去除文件支持) ...
摘要:错过了一周的优质内容,不要再错过周一的快速回顾一周深度揭秘启动全过程翻译组每周社区问答入门语言简明入门与提高一只爬虫崔小拽爬虫知乎用户数据爬取和分析如何学习开源动效分析二动画最佳实践一工具箱之生命周期工具箱之权限管理一步步创建自己的框 错过了一周的优质内容,不要再错过周一的快速回顾 一周 fir.im Weekly -《深度揭秘 App 启动全过程》 SwiftGG翻译组 -《每周 S...
摘要:错过了一周的优质内容,不要再错过周一的快速回顾一周深度揭秘启动全过程翻译组每周社区问答入门语言简明入门与提高一只爬虫崔小拽爬虫知乎用户数据爬取和分析如何学习开源动效分析二动画最佳实践一工具箱之生命周期工具箱之权限管理一步步创建自己的框 错过了一周的优质内容,不要再错过周一的快速回顾 一周 fir.im Weekly -《深度揭秘 App 启动全过程》 SwiftGG翻译组 -《每周 S...
阅读 2284·2023-04-25 16:42
阅读 1198·2021-11-22 14:45
阅读 2328·2021-10-19 13:10
阅读 2821·2021-09-29 09:34
阅读 3398·2021-09-23 11:21
阅读 2094·2021-08-12 13:25
阅读 2176·2021-07-30 15:15
阅读 3488·2019-08-30 15:54