openresty 前端开发轻量级MVC框架封装二(渲染篇)
来源:互联网 发布:美发教程软件下载 编辑:程序博客网 时间:2024/06/06 09:24
这一章主要介绍怎么使用模板,进行后端渲染,主要用到了lua-resty-template这个库,直接下载下来,放到lualib里面就行了,推荐第三方库,已经框架都放到lualib目录里面,lua目录放项目源码,比较好管理,可以知道那些是项目的,哪些是第三方库,可复用的
下载解压到lualib目录之后,就算安装完成了,下面来试用一下,更详细的可以到github上面看文档
conf/nginx.conf
worker_processes 1;error_log logs/error.log notice;events { worker_connections 1024;}http { lua_package_path "/Users/john/opensource/openresty-web-dev/demo9/lua/?.lua;/Users/john/opensource/openresty-web-dev/demo9/lualib/?.lua;/usr/local/openresty/lualib/?.lua"; server { listen 80; server_name localhost; lua_code_cache off; location / { root lua; # 这个很重要,不然模板文件会找不到 default_type "text/html; charset=utf-8"; content_by_lua_file lualib/lite/mvc.lua; } location ~ ^/js/|^/css/|\.html { root html; } }}
lua/index.lua
local template = require "resty.template"local _M = {}function _M.index() local model = {title = "hello template", content = "<h1>content</h1>"} -- 1、外部模板文件 -- template.render('tpl/index.html', model) -- 2、内嵌模板代码 template.render([[<html><head> <meta charset="UTF-8"> <title>{{ title }}</title></head><body> {* content *}</body></html> ]], model)endreturn _M
lua/tpl/index.html
<html><head> <meta charset="UTF-8"> <title>{{title}}</title></head><body> {* content *}</body></html>
跟spring mvc 有点像,指定一个 view , model,然后就可以渲染了,模板语法有很多种,{{ 变量 }} 会进行转义,{* 不会转义 *},{% lua 代码 %},跟jsp有点类似,但是很轻量,只有单个文件,更多用法可以到github上面看。
浏览器访问 http://localhost/index ,输出content
至此,服务端渲染就搞定了,已经可以开发一些常见的web应用,使用openresty来做前端,然后通过http访问后端的java,也可以在前端,直接访问mysql、redis,只不过mysql只能做一些简单的非事务操作,因为lua-resty-mysql这个库不支持事务,我在github上面问过春哥了,当然如果你直接调用存储过程,把事务放在过程里面控制的话也可以,现在你可以直接写同步的代码风格,就能获得高并发、低消耗,非堵塞等各种好处。
我们已经用openresty开发了pc版,还有微信版的web应用,已经运行几个月了,很稳定,上手也简单,开发的时候不用编译,直接启动一个nginx就搞定,部署的时候只需要10几M的内存,还可以用openresty做各种事情,高并发api、web防火墙,直接跑在nginx里面,简直爽歪歪,有机会跟大家分享。
示例代码 参见demo9部分
0 0
- openresty 前端开发轻量级MVC框架封装二(渲染篇)
- openresty 前端开发轻量级MVC框架封装一(控制器篇)
- openresty 前端开发入门二
- 封装mvc框架【二】
- mvc框架封装(二)路由类篇
- openresty 前端开发序
- 轻量级的前端UI开发框架 - UIkit
- openresty 前端开发进阶二之https后端
- JAVA 开发平台的技术和框架(二)前端控制器:Struts2 ,Spring MVC
- openresty 前端开发入门一
- 封装MVC(二)
- MVC框架的封装(二)类自动加载
- mvc框架封装( 二)类自动加载
- 如何封装一个自己的mvc框架(二)
- MVC框架的封装(二)类自动加载
- mvc 封装框架之关于 .haccess 文件 (二)
- MVC框架的封装(二)类自动加载
- MVC框架自己封装开启超神之路(上) 3-4medoo轻量级数据库框架
- 经典排序算法之:归并排序
- HTML5 FormData提交表单-HTML5文件上传-JavaServlet处理文件上传
- 计算机组成原理之内存
- 11.3 NamedParameterJDBCTemplate、SimpleJDBCTemplate
- nginx配置https协议
- openresty 前端开发轻量级MVC框架封装二(渲染篇)
- Codeforces Round #386 (Div. 2) C. Tram 数学、讨论
- 分析分布式服务框架
- (找数字)HDU - 2141
- 【机器学习】线性回归
- CentOS 6.5 Install Oracle Java 8
- CSS选择器参考手册
- 华为云使用初体验
- Leetcode Merge Intervals