Node.js를 사용하여 전체 웹 응용 프로그램을 작성하는 실험을하고 있습니다. 최소한 기본 템플릿을 확장 할 수있는 Django 템플릿 엔진과 유사한 템플릿 엔진이 있습니까?
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-asyncEJS를 살펴 보십시오node.js의 비동기 특성을 고려하도록 명시 적으로 설계된 . 템플릿 내부의 비동기 코드 블록도 허용합니다.
다음은 문서 양식의 예입니다.
<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>
나는 Symfony와 함께 Twig를 사용하고 지금 node.js에서 손을 대고 있으므로 https://github.com/justjohn/twig.js 및 https://github.com/paularmstrong/swig를 보고 있습니다. django를 사용하는 것 같습니다.
경고 : 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);
Django 템플릿 엔진의 포트는 JavaScript입니다. 그러나 오랫동안 업데이트되지 않았지만 여전히 충분한 기능이있을 수 있습니다.
솔직히 Node.js를위한 가장 좋고 가장 간단한 템플릿 엔진은 (IMHO) Plates ( https://github.com/flatiron/plates )입니다. Node.js ( http://flatiron.org ) 의 Flatiron MVC 프레임 워크를 확인하십시오 .