博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于OpenResty的Lua Web框架lor
阅读量:7000 次
发布时间:2019-06-27

本文共 2439 字,大约阅读时间需要 8 分钟。

  hot3.png

特性

  • 路由采用风格,Sinatra是Ruby小而精的web框架.
  • API基本采用了的思路和设计,Node.js跨界开发者可以很快上手.
  • 支持插件(middleware),路由可分组,路由匹配支持string/正则模式.
  • lor以后会保持核心足够精简,扩展功能依赖middleware来实现. lor本身也是基于middleware来构建的.
  • 推荐使用lor作为HTTP API Server,lor此后也会支持Session/Cookie等常规web功能.
  • 框架文档在,0.0.4版本发布后将专注于文档完善,之后再开启0.0.5版本.

当前版本:v0.0.3,下一版本v0.0.4计划:

  • 支持session、cookie,完善测试用例和项目骨架
  • 完善文档和使用示例

快速开始

在使用lor之前请首先确保OpenResty和luajit已安装.

一个简单示例,更复杂的示例或项目模板请使用lord命令生成:

local lor = require("lor.index")local app = lor()-- 示例: 匹配/query/123?foo=barapp:get("/query/:id", function(req, res, next)    local foo = req.query.foo -- 从url queryString取值:"bar"    local path_id = req.params.id -- 从path取值:"123"    res:json({        foo = foo,        id = path_id    })end)-- 404 errorapp:use(function(req, res, next)    if req:isFound() ~= true then        res:status(404):send("sorry, not found.")    endend)-- 错误处理插件,可根据需要定义多个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/lortotal 56drwxr-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.mddrwxr-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.shdrwxr-xr-x   4 root  wheel   136B  1 21 22:40 lordrwxr-xr-x  13 root  wheel   442B  1 22 01:17 test

至此, lor框架已经安装完毕,接下来使用lord命令行工具快速开始一个项目.

使用

$ lord -hlor v0.0.3, 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 tipsOptions: --debug                Show some runtime details

执行lord new lor_demo,则会生成一个名为lor_demo的示例项目,然后执行:

cd lor_demolord start

之后访问

更多使用方法,请参考测试用例。

讨论交流

目前有一个QQ群用于在线讨论: 522410959

转载于:https://my.oschina.net/sumory/blog/608500

你可能感兴趣的文章
导入导出EXCEL数据(jsp+ssh)
查看>>
string字符串转换为array(互换)
查看>>
Linux 同一系统安装两个MySQL
查看>>
ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务
查看>>
UNIX/Linux 系统管理技术手册阅读(九)
查看>>
zabbix分布式监控4(2.4)
查看>>
DES--------Golang对称加密之模式问题实战
查看>>
Linux 安全设置
查看>>
Linux——常用命令
查看>>
DG_Oracle DataGuard Primary/Standby物理主备节点安装实践(案例)
查看>>
mysql中count的用法
查看>>
javaScript 对象 escape 和 toGMTString
查看>>
转帖-SQL Server 2005 镜像构建手册
查看>>
配置windows 2008 R2远程桌面授权,激活授权许可服务器。
查看>>
WindowsTime服务设置
查看>>
linux passwd shadow usermod groupmod id bash变量类型、定义、引用、撤销
查看>>
API开创基底细胞癌手术切缘采集,改善过度医疗现状
查看>>
Cisco中PPP协议的简明配置
查看>>
Linux中iscsi
查看>>
在XenCenter中使用命令删除XenServer虚拟机快照
查看>>