openresty 전단 개발 경량급 MVC 프레임 워 크 패키지 2 (렌 더 링 편)

2712 단어 webluaopenrestynginx
이 장 은 주로 템 플 릿 을 어떻게 사용 하고 백 엔 드 렌 더 링 을 하 는 지 소개 합 니 다. 주로 lua - resty - template 라 이브 러 리 를 사 용 했 습 니 다. 직접 다운로드 하여 lualib 에 넣 으 면 됩 니 다. 제3자 라 이브 러 리 를 추천 합 니 다. 이미 프레임 워 크 는 lualib 디 렉 터 리 에 넣 었 습 니 다. lua 디 렉 터 리 는 프로젝트 소스 코드 를 넣 으 면 관리 가 잘 됩 니 다. 프로젝트 의 것 이 고 어떤 것 이 제3자 라 이브 러 리 인지 알 수 있 습 니 다. 재 활용 가능
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 = "

content

"} -- 1、 -- template.render('tpl/index.html', model) -- 2、 template.render([[ {{ title }} {* content *} ]], model) end return _M

lua/tpl/index.html


    
    {{title}}


    {* content *}


spring mvc 와 비슷 합 니 다. view, model 을 지정 한 다음 에 렌 더 링 할 수 있 습 니 다. 템 플 릿 문법 은 여러 가지 가 있 습 니 다. {{변수}} 은 전의 가 있 습 니 다. {전의 가 없 음}, {% lua 코드%} 은 jsp 와 비슷 하지만 가 볍 습 니 다. 하나의 파일 만 있 습 니 다. github 위 에서 볼 수 있 습 니 다.
브 라 우 저 접근http://localhost/index , 출력 콘 텐 츠
이로써 서버 렌 더 링 은 끝 났 습 니 다. 흔히 볼 수 있 는 웹 애플 리 케 이 션 을 개발 할 수 있 습 니 다. openresty 를 사용 하여 전단 을 한 다음 에 http 를 통 해 백 엔 드 의 자바 를 방문 할 수도 있 습 니 다. 전단 에서 my sql, redis 를 직접 방문 할 수도 있 습 니 다. 다만 my sql 은 간단 한 비 사무 조작 만 할 수 있 습 니 다. lua - resty - my sql 라 이브 러 리 는 사 무 를 지원 하지 않 기 때문에 저 는 github 에서 춘 형 에 게 물 었 습 니 다.물론 저장 과정 을 직접 호출 하고 사 무 를 과정 에 넣 어 제어 하면 됩 니 다. 지금 은 동기 화 된 코드 스타일 을 직접 쓰 면 높 은 병행, 낮은 소모, 비 막힘 등 여러 가지 장점 을 얻 을 수 있 습 니 다.
우 리 는 이미 openresty 로 pc 버 전 을 개 발 했 습 니 다. 그리고 위 챗 버 전의 웹 응용 프로그램 도 몇 달 동안 실 행 했 습 니 다. 안정 적 이 고 손 도 간단 합 니 다. 개발 할 때 컴 파일 하지 않 고 nginx 를 직접 시작 하면 됩 니 다. 배치 할 때 10 여 M 의 메모리 만 필요 하고 openresty 로 여러 가지 일 을 할 수 있 습 니 다. 높 은 병발 api, 웹 방화벽 은 nginx 안에서 직접 달 릴 수 있 습 니 다. 정말 시원 합 니 다.여러분 과 나 눌 기회 가 있 습 니 다.
예제 코드 데모 9 부분 참조

좋은 웹페이지 즐겨찾기