2011-09-06 35 views
9

Có thể tạo ứng dụng nhanh (nút) mà không cần một công cụ mẫu như ngọc bích hoặc ej. Tôi đã có một dự án lớn cuối năm tại trường đại học và tôi sẽ sử dụng nút, express, socket.io, mongoDB và websockets. Tôi không muốn gánh nặng bản thân mình với việc phải học một ngôn ngữ tạo khuôn mẫu nữa!Sử dụng nhanh mà không có công cụ tạo mẫu

Bằng cách sử dụng nhanh mặc định ngọc bích -t, --template thêm hỗ trợ mẫu (ngọc | ejs). default = ngọc

Trả lời

12

Có thể tạo ra một ứng dụng nhanh (nút) mà không cần một mẫu động cơ như ngọc bích hoặc EJS

Có nó được. Bạn chỉ có thể sử dụng HTML. Hoặc chỉ sử dụng EJS. EJS là một phần lớn của HTML.

Tôi không muốn tự gánh nặng bản thân mình cũng phải học ngôn ngữ tạo khuôn mẫu!

Bạn có thể học ngôn ngữ tạo mẫu trong một ngày. Nó thực sự sẽ giúp bạn. Cứ làm đi. Nó đáng giá.

+0

bạn luôn nhận được câu trả lời khi liên quan đến bất kỳ điều gì liên quan đến JavaScript và câu trả lời của bạn luôn là điểm và thông tin. Cảm ơn! – Jack

+1

@JackBrown [Bạn có thể đến trò chuyện để có câu hỏi nhanh] (http://chat.stackoverflow.com/rooms/642/node-js) – Raynos

+5

tôi nghĩ rằng nó không phải là về việc học một ngôn ngữ mẫu mới, tôi chỉ nghĩ rằng bằng cách sử dụng một công cụ mẫu sẽ làm hỏng các trang html của bạn. Hãy tưởng tượng nếu bạn có rất nhiều trang html được thiết kế tốt, bạn phải dịch chúng thành một định dạng mẫu hoàn toàn mới, điều đó thật tệ. – silent

3

Nếu bạn chỉ muốn tránh học ngôn ngữ mẫu khác, bạn có thể muốn thử các mẫu gạch dưới. Họ chỉ là javascript, mà bạn sẽ được học tập anyway.

documentcloud.github.com/underscore/#template

Bạn có thể thiết lập nó với:

app.register('.html', { 
    compile: function(str, options){ 
     var compiled = require('underscore').template(str); 
     return function(locals) { 
      return compiled(locals); 
     }; 
    } 
}); 
1

Cách dễ nhất để làm điều này sẽ được thay thế app.get mặc định ('/') ... phù hợp với những điều sau đây. Sau đó, đặt tất cả các phép thuật trong index.html. Điều này sẽ ít nhất là làm việc khá tốt cho một ứng dụng trang duy nhất.

như sau

app.get('/', function(request, response) { 
var readFile = "index.html"; 
var fileContents = fs.readFileSync(readFile); 

response.send(fileContents.toString()); 
}); 
1

Các lựa chọn tốt nhất ngay bây giờ là sử dụng EJS (động cơ) và cấu hình nó để chấp nhận và đưa ra html:

app.set('views', path.join(*__dirname*, 'views')) 
app.set('view engine', 'ejs'); // template engine 
app.engine('html', require('ejs').renderFile); // turn engine to use html 

Lưu ý: Tất cả các quan điểm hay các mẫu của bạn có tiện ích mở rộng .html.

Các vấn đề liên quan