lapis使用
2024-08-27 00:46:54
lapis:
安装
http://leafo.net/lapis/ 官网安装方式依赖lua-cjson,但是已经安装了openresty的可能会报错。
解决方法,使用下面issue中的luarocks install lua-cjson2
https://github.com/leafo/lapis/issues/539
使用
lapis提供lua和moonscript两种代码。
生成一个新的项目
默认生成moonscript脚本,增加--lua这个flag可以生成lua的脚本。包含框架的四个基本的文件。
lapis new --lua
运行
如果安装了openresty,使用
lapis server
打开http://localhost:8080
可以看到欢迎界面。
配置,在当前文件夹创建一个文件config.lua
local config = require("lapis.config")
config("development", {
port = 9090
})
启动之后就端口就改成了9090端口。
视图
创建一个views的文件夹,里面放一个文件index.etlua,内容如下:
<h1>Hello world</h1>
<p>Welcome to my page</p>
lapis将会将index.etlua文件内容解析输出为html网页格式。需要使用app:enable("etlua")
来让lapis解析对应的etlua文件为html。
简单封装使用
local respond_to = require ("lapis.application").respond_to
app:enable("etlua")
local blm_hc_status = require "controllers.blm_hc_status"
app:match("/hello", respond_to(blm_hc_status))
新建的文件夹controllers文件夹下面,创建一个文件,因为是match,里面可以写四种方法,访问http://localhost:9090/hello
local db = require("lapis.db")
local mt = {}
function mt:GET()
local res = db.query("select * from tb_hc_status")
self.services = res
return { render = "index" }
end
return mt
最新文章
- 使用php脚本查看已开启的扩展
- [物理学与PDEs]第5章 弹性力学
- [C/CPP系列知识] 那些程序C语言可以编译通过但C++无法编译成功 Write a C program that won’t compile in C++
- FBReaderJ 编译Jni
- wpf打印控件 实现分页打印控件功能
- js【输入一个日期】返回【当前12个月每月最后一天】
- dedecms 在php7.0无法安装
- PHP基于变量的引用实现的树状结构
- elk 日志处理的一点思路
- STM32驱动DHT11温湿度传感器
- 持续集成之 Spring Boot 实战篇
- JS 转换HTML转义符
- jdbc crud
- shell脚本三——正则表达式
- Unity Shader 基础(1): RenderType &; ReplacementShader
- 【Redis】5、Redis事务处理
- php curl 传输是url中带有空格的处理方法
- canvas画的时钟
- find_package()的查找*.cmake的顺序
- C#代码规范-编程秘笈