Tôi đang thử nghiệm xây dựng toàn bộ ứng dụng web bằng Node.js. Có một công cụ mẫu tương tự (ví dụ) công cụ mẫu Django hay tương tự như vậy ít nhất cho phép bạn mở rộng các mẫu cơ sở?
Tôi đang thử nghiệm xây dựng toàn bộ ứng dụng web bằng Node.js. Có một công cụ mẫu tương tự (ví dụ) công cụ mẫu Django hay tương tự như vậy ít nhất cho phép bạn mở rộng các mẫu cơ sở?
Câu trả lời:
Kiểm tra trang wiki mô-đun Node js. Họ đã liệt kê tất cả các công cụ tạo khuôn mẫu hỗ trợ node.js.
Bạn sẽ có thể sử dụng mustache.js, nếu nó không hoạt động, hãy gửi cho tôi các vấn đề và tôi sẽ sửa nó vì dù sao tôi cũng sẽ sử dụng chúng trong node.js.
http://github.com/janl/mustache.js
Tôi biết rằng nó hoạt động mà không cần DOM vì một loạt các ứng dụng độc lập CouchDB đang sử dụng nó trong máy chủ xem Spidermonkey.
Nếu bạn thích haml, nhưng muốn một cái gì đó thậm chí tốt hơn hãy xem http://jade-lang.com cho nút, tôi cũng đã viết haml.js :)
Có động cơ templating mới tất cả các thời gian.
underscore.js thêm rất nhiều hỗ trợ lập trình chức năng cho js và có templating.
Và chỉ hôm nay tôi đã nghe về điều này: http://github.com/SamuraiJack/Shotenjin-Joosed
Bạn nên xem qua nút-asyncEJS , được thiết kế rõ ràng để đưa tính chất không đồng bộ của node.js vào tài khoản. Nó thậm chí còn cho phép các khối mã async bên trong mẫu.
Dưới đây là một ví dụ mẫu tài liệu:
<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>
Bạn có thể thử râu (lấy cảm hứng từ mối hàn / tấm):
Ví dụ:
{ 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..."} ]
}
}
Mẫu của bạn:
<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>
Đầu ra:
<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>
Tôi đã thực hiện một số công việc trên một cổng khá hoàn chỉnh của ngôn ngữ mẫu Django cho dự án djangode Simon Willisons (Các hàm tiện ích cho node.js mượn một số khái niệm hữu ích từ Django).
Xem tài liệu ở đây .
Tôi sử dụng Twig với Symfony và hiện đang tìm hiểu về node.js, vì vậy tôi đang xem https://github.com/justjohn/twig.js và https://github.com/paularmstrong/swig , bạn sẽ có lẽ thích nếu bạn sử dụng django.
Nếu bạn đang tìm kiếm một cách tiếp cận tối giản cho các mẫu, bạn có thể kiểm tra Mẫu JSON .
Một thay thế đầy đủ tính năng hơn là EJS . Nó hơi giống với thứ bạn nhận được từ Django.
Số dặm của bạn có thể khác nhau đối với mỗi loại này - chúng được thiết kế cho môi trường Javascript của trình duyệt chứ không phải Node.js.
CẢNH BÁO: JinJs không được duy trì nữa. Nó vẫn hoạt động nhưng không tương thích với phiên bản express mới nhất.
Bạn có thể thử sử dụng jinjs . Nó là một cổng của Jinja, một hệ thống tạo khuôn Python rất tốt. Bạn có thể cài đặt nó với npm như thế này:
npm install jinjs
trong template.tpl:
I say : "{{ sentence }}"
trong template.js của bạn:
jinjs = require('jinjs');
jinjs.registerExtension('.tpl');
tpl = require('./template');
str = tpl.render ({sentence : 'Hello, World!'});
console.log(str);
Đầu ra sẽ là:
I say : "Hello, World!"
Chúng tôi đang tích cực phát triển nó, một tài liệu tốt sẽ đến khá sớm.
haml là một lựa chọn tốt cho node.js
http://github.com/creationix/haml-js
ham-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>
Tôi đã nghe những điều hay về {bụi} http://akdubya.github.com/dustjs/#dust
Hãy thử "vash" - asp.net mvc giống như cú pháp dao cạo cho node.js
https://github.com/kirbysayshi/Vash
đồng thời thanh toán: 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);
Các mẫu đóng cửa của Google là một hệ thống tạo khuôn mẫu JavaScript và có vẻ phù hợp tự nhiên với NodeJS. Dưới đây là một số hướng dẫn để tích hợp chúng.
Bạn đã thử PURE ?
Nếu bạn dùng thử, vui lòng gửi bất kỳ rắc rối nào bạn có thể gặp phải tại diễn đàn
Mặc dù nó được thiết kế chủ yếu cho trình duyệt, nhưng nó hoạt động tốt với Jaxer và Rhino.
Tôi chưa biết node.js nhưng nếu bạn có thể lưu trữ một số hàm và hàm JS trong bộ nhớ, tốc độ sẽ còn ấn tượng hơn nữa.
Có một cổng của công cụ tạo khuôn mẫu Django sang JavaScript. Tuy nhiên, nó không được cập nhật trong một thời gian dài nhưng nó vẫn có thể có đủ các tính năng.
Hãy thử Yajet quá. ;-) Đây là một cái mới mà tôi mới phát hành ngày hôm qua, nhưng tôi đang sử dụng nó một thời gian và nó ổn định và nhanh chóng (các mẫu được biên dịch thành hàm JS gốc).
Nó có IMO cú pháp tốt nhất có thể cho một công cụ mẫu và một bộ tính năng phong phú mặc dù kích thước mã nhỏ của nó (rút gọn 8,5K). Nó có các chỉ thị cho phép bạn giới thiệu các điều kiện, lặp lại mảng / băm, xác định các thành phần mẫu có thể sử dụng lại, v.v.
Đây là một đánh giá tốt về một số công cụ http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more
Thành thật mà nói, công cụ mẫu đơn giản và tốt nhất cho Node.js là (IMHO) Tấm ( https://github.com/flatiron/sheet ). Bạn cũng có thể muốn kiểm tra khung MVC Flatiron cho Node.js ( http://flatiron.org ).