> php教程 > php手册 > Koa 플랫폼 Node.js를 기반으로 개발된 KoaHub.js의 템플릿 엔진 코드

Koa 플랫폼 Node.js를 기반으로 개발된 KoaHub.js의 템플릿 엔진 코드

WBOY
풀어 주다: 2016-09-30 09:22:56
원래의
1212명이 탐색했습니다.

Koa 플랫폼 Node.js를 기반으로 개발된 KoaHub.js의 템플릿 엔진 코드
코아허브 핸들바

코아허브 핸들바

koahub 핸들바 템플릿

설치

$ npm install koahub-handlebars
코아와 함께 사용하세요

var koa = require('koa');
var hbs = require('koahub-handlebars');

var app = koa();

// koahub-handlebars는 미들웨어입니다. 뷰를 렌더링하기 전에 `사용`하세요
app.use(hbs.middleware({
viewPath: __dirname + '/views'
}));

// 렌더는 koa 컨텍스트에 연결됩니다. 미들웨어에서 `this.render`를 호출하세요
// 렌더링된 HTML을 Koa 응답 본문에 첨부합니다.
app.use(함수 *() {
Yield this.render('index', {title: 'koahub-handlebars'});
})

app.listen(3000);

도우미 등록

헬퍼는 #registerHelper 메소드를 사용하여 등록됩니다. 다음은 기본 인스턴스를 사용하는 예입니다(공식 Handlebars 문서에서 도난당한 도우미:

hbs = require('koahub-handlebars');

hbs.registerHelper('link', function(text, url) {
텍스트 = hbs.Utils.escapeExpression(text);
url = hbs.Utils.escapeExpression(url);

var 결과 = '' + 텍스트 + '';

새로운 hbs.SafeString(결과) 반환;
});
그러면 {{link "Google" "http://google.com"}}
을 사용하여 모든 보기에서 도우미에 액세스할 수 있습니다.
RegisterHelper, Utils 및 SafeString 메소드는 모두 내부 Handlebars 인스턴스로 프록시됩니다. Handlebars의 대체 인스턴스를 미들웨어 구성자에 전달하는 경우 위 함수의 koahub-handlebars 프록시를 통해 도우미를 등록하기 전에 이를 수행하거나 Handlebars 인스턴스를 통해 직접 도우미를 등록하세요.

도우미에서 현재 Koa 컨텍스트에 액세스할 수도 있습니다. 현재 URL을 출력하는 도우미를 원할 경우 다음과 같은 도우미를 작성하고 모든 템플릿에서 {{requestURL}}로 호출할 수 있습니다.

hbs.registerHelper('requestURL', function() {
var url = hbs.templateOptions.data.koa.request.url;
반환 URL;
});
부분등록

부분을 ​​등록하는 간단한 방법은 모든 부분을 디렉터리에 저장하고 미들웨어를 생성할 때 부분 경로 옵션을 전달하는 것입니다. 뷰가 ./views에 있고 부분 뷰가 ./views/partials에 있다고 가정해 보세요.
을 통해 미들웨어 구성
app.use(hbs.middleware({
viewPath: __dirname + '/views',
부분 경로: __dirname + '/views/partials'
}));
자동으로 등록되게 됩니다. 또는 캐시된 핸들바 #registerPartial 메소드를 프록시하는 hbs.registerPartial을 호출하여 부분을 한 번에 하나씩 등록할 수 있습니다.

레이아웃

레이아웃 이름과 함께 defaultLayout을 전달하면 모든 템플릿이 레이아웃의 {{{body}}} 표현식에 삽입됩니다. 이는 다음과 같습니다.




<제목>{{제목}}


{{{본문}}}

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿