Node.js를위한 템플릿 엔진이 있습니까? [닫은]
Node.js를 사용하여 전체 웹 응용 프로그램을 작성하는 실험을하고 있습니다. 최소한 기본 템플릿을 확장 할 수있는 Django 템플릿 엔진과 유사한 템플릿 엔진이 있습니까?
Node js modules 위키 페이지를 확인하십시오. 그들은 node.js를 지원하는 모든 템플릿 엔진 을 나열했습니다.
작동하지 않으면 mustache.js를 사용할 수 있어야하며 문제를 보내면 어쨌든 node.js에서 사용하려고하기 때문에 문제가 해결됩니다.
http://github.com/janl/mustache.js
CouchDB 독립형 앱이 Spidermonkey보기 서버에서 사용하기 때문에 DOM이 없으면 작동한다는 것을 알고 있습니다.
haml을 좋아하지만 더 나은 것을 원한다면 http://jade-lang.com 에서 노드를 확인 하십시오. 나는 haml.js도 작성했습니다. :)
항상 새로운 템플릿 엔진이 있습니다.
underscore.js는 js에 많은 기능적 프로그래밍 지원을 추가하고 템플릿이 있습니다.
그리고 오늘 나는 이것에 대해 들었습니다 : http://github.com/SamuraiJack/Shotenjin-Joosed
node.js의 비동기 특성을 고려하여 명시 적으로 설계된 node-asyncEJS를 살펴보십시오 . 템플릿 내부의 비동기 코드 블록도 허용합니다.
다음은 문서 양식의 예입니다.
<html>
<head>
<% ctx.hello = "World"; %>
<title><%= "Hello " + ctx.hello %></title>
</head>
<body>
<h1><%? setTimeout(function () { res.print("Async Header"); res.finish(); }, 2000) %></h1>
<p><%? setTimeout(function () { res.print("Body"); res.finish(); }, 1000) %></p>
</body>
</html>
수염 을 시도해 볼 수 있습니다 (용접 / 판에서 영감을 얻음).
예를 들면 다음과 같습니다.
{ post:
{ title: "Next generation templating: Start shaving!"
, text: "TL;DR You should really check out beardless!"
, comments:
[ {text: "Hey cool!"}
, {text: "Really gotta check that out..."} ]
}
}
템플릿 :
<h1 data-template="post.title"></h1>
<p data-template="post.text"></p>
<div>
<div data-template="post.comments" class="comment">
<p data-template="post.comments.text"></p>
</div>
</div>
산출:
<h1>Next generation templating: Start shaving!</h1>
<p>TL;DR You should really check out beardless!</p>
<div>
<div class="comment">
<p>Hey cool!</p>
</div>
<div class="comment">
<p>Really gotta check that out...</p>
</div>
</div>
Simon Willisons djangode 프로젝트 (Django에서 유용한 개념을 빌리는 node.js의 유틸리티 기능)를 위해 Django 템플릿 언어의 완전한 포트에서 일부 작업을 수행했습니다 .
나는 Symfony와 함께 Twig를 사용하고 지금 node.js에서 손을 대고 있으므로 https://github.com/justjohn/twig.js 및 https://github.com/paularmstrong/swig를 보고 있습니다. django를 사용하는 것 같습니다.
템플릿에 대한 미니멀리스트 접근법을 찾고 있다면 JSON 템플릿을 확인할 수 있습니다 .
보다 완전한 기능을 갖춘 대안은 EJS 입니다. 장고에서 얻는 것과 조금 더 비슷합니다.
마일리지는 각각에 따라 다를 수 있습니다-Node.js가 아니라 브라우저 Javascript 환경을 위해 설계되었습니다.
경고 : JinJ는 더 이상 유지되지 않습니다. 여전히 작동하지만 최신 버전의 express와 호환되지 않습니다.
jinjs를 사용해보십시오 . 매우 훌륭한 파이썬 템플릿 시스템 인 Jinja의 포트입니다. 다음과 같이 npm으로 설치할 수 있습니다.
npm install jinjs
template.tpl에서 :
I say : "{{ sentence }}"
template.js에서 :
jinjs = require('jinjs');
jinjs.registerExtension('.tpl');
tpl = require('./template');
str = tpl.render ({sentence : 'Hello, World!'});
console.log(str);
출력은 다음과 같습니다.
I say : "Hello, World!"
우리는 적극적으로 개발하고 있으며, 좋은 문서가 곧 나올 것입니다.
haml은 node.js를위한 좋은 선택입니다
http://github.com/creationix/haml-js
haml-js
!!! XML
!!! strict
%html{ xmlns: "http://www.w3.org/1999/xhtml" }
%head
%title Sample haml template
%body
.profile
.left.column
#date= print_date()
#address= current_user.address
.right.column
#email= current_user.email
#bio= current_user.bio
html
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sample haml template
</title></head><body><div class="profile"><div class="left column"><div id="date">January 1, 2009
</div><div id="address">Richardson, TX
</div></div><div class="right column"><div id="email">tim@creationix.com
</div><div id="bio">Experienced software professional...
</div></div></div></body></html>
{dust} http://akdubya.github.com/dustjs/#dust 에 대해 좋은 소식을 들었습니다.
"vash"를 사용해보십시오-node.js의 면도기 구문과 같은 asp.net mvc
https://github.com/kirbysayshi/Vash
또한 체크 아웃 : http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
// sample
var tmpl = vash.compile('<hr/>@model.a,@model.b<hr/>');
var html = tmpl({"a": "hello", "b": "world"});
res.write(html);
Google의 클로저 템플릿은 기본 자바 스크립트 템플릿 시스템이며 NodeJS와 자연스럽게 어울립니다. 다음은 이들을 통합하기위한 지침 입니다.
PURE 를 시도 했습니까 ?
당신이 그것을 시도한다면, 포럼 에서 직면 할 수있는 모든 문제를 자유롭게 게시하십시오
기본적으로 브라우저 용으로 설계되었지만 Jaxer 및 Rhino와 잘 작동합니다.
아직 node.js를 모르지만 일부 JS와 함수를 메모리에 캐시 할 수 있다면 속도가 훨씬 빨라집니다.
Django 템플릿 엔진의 포트는 JavaScript입니다. 그러나 오랫동안 업데이트되지 않았지만 여전히 충분한 기능이있을 수 있습니다.
http://code.google.com/p/jtl-javascript-template/
Yajet 도 사용해보십시오 . ;-) 어제 방금 출시 한 새로운 제품이지만, 한동안 사용하고 있으며 안정적이며 빠릅니다 (템플릿은 기본 JS 함수로 컴파일 됨).
IMO는 템플릿 엔진에 가장 적합한 구문과 작은 코드 크기 (8.5K 축소)에도 불구하고 풍부한 기능 세트를 갖추고 있습니다. 조건부 도입, 배열 / 해시 반복, 재사용 가능한 템플릿 구성 요소 정의 등을 수행 할 수있는 지시문이 있습니다.
트위터 에서 hogan.js 를 찾았고 그의 사이트에서 Tim O'Reilly가 추천했습니다. 모범 사례는 없지만 Twitter와 O'Reilly를 신뢰합니다. 당신은 시도해야합니다 ...
다음은 여러 엔진에 대한 좋은 평가입니다 .
솔직히 Node.js를위한 가장 좋고 가장 간단한 템플릿 엔진은 (IMHO) Plates ( https://github.com/flatiron/plates )입니다. Node.js ( http://flatiron.org ) 의 Flatiron MVC 프레임 워크를 확인하고 싶을 수도 있습니다 .
DojoToolkit.org의 dojox.dtl을 사용할 수 있습니다. dojo 1.7은 NodeJS에서 잘 실행될 수 있으며 서버 측 라이브러리로 작동 할 수 있습니다. 관심이 있으시면 간단한 예를 들어 드리겠습니다.
참고 URL : https://stackoverflow.com/questions/1787716/is-there-a-template-engine-for-node-js
'IT' 카테고리의 다른 글
| iPhone 응용 프로그램을 개발하는 데 드는 비용은 얼마입니까? (0) | 2020.03.26 |
|---|---|
| OSGi는 무엇을 해결합니까? (0) | 2020.03.26 |
| 방금 모든 ASP.Net 웹 사이트가 느린 이유를 발견했으며 그에 대한 조치를 취하려고합니다. (0) | 2020.03.26 |
| 데이터베이스로 NoSQL (MongoDB) vs Lucene (또는 Solr) (0) | 2020.03.26 |
| 최신 커밋에 대해서만 GitHub에 풀 요청을 보냅니다. (0) | 2020.03.26 |