2013-08-22 29 views
5

Làm cách nào để hiển thị tệp html trong khi vẫn giữ động cơ templating là jade?Hiển thị `html` khi sử dụng công cụ tạo khuôn" ngọc bích ", trong Express

app.set('view engine', 'jade'); là nơi tôi đã thiết lập các cơ templating như jade và tôi muốn làm một cái gì đó giống như

app.get('/world', function(req,res){ 
    res.render('profile.html',); 

Để làm cho tập tin html.

Tôi đang lập trình trong node.js bằng cách sử dụng express.js.

Lưu ý: Tôi đã requirehtml sử dụng var html=require('html');

Edit:

Tôi hiểu res.render không cần phải được sử dụng như html đã được trả lại. res.send(profile.html); cho lỗi của profile is undefined

+1

html không phải được trả lại. Nó là tĩnh, chỉ cần gửi tập tin. Tốt hơn bạn nên sử dụng nó với biểu thức tĩnh. – user568109

+0

res.send (profile.html) không hoạt động. Cú pháp để gửi tệp 'html' bằng cách sử dụng res.send – Swagg

+1

Đọc tệp 'profile.html' sau đó gửi tệp đó. – user568109

Trả lời

11

Bạn có thể hiển thị tệp ngọc bích (.jade) nhưng không phải tệp html do kết quả sẽ là html. Bạn có ý gì khi hiển thị tệp html?

Replace bạn res.render('profile.html') bởi res.sendfile('[path_to_the_file]profile.html')

+0

Tôi muốn xem cách một số tệp html được hiển thị, mà không thay đổi công cụ tạo khuôn mẫu. Cơ bản của nó trong quá trình phát triển. một nỗi đau của nó để chuyển đổi tất cả các tập tin html bạn tìm thấy thành ngọc trước khi bạn có thể nhìn thấy những gì họ trông giống như. – Swagg

+2

Tôi thực sự không hiểu ... Bạn không thể hiển thị tệp html khi chúng đã là html. Chỉ cần thực hiện res.send ('profile.html') và nó sẽ không được hiển thị. –

+0

thay vì, res.render, tôi làm res.send ('profile.html'); ? Không hoạt động. – Swagg

-2

nếu bạn muốn kiểm tra các tập tin .html, cách dễ nhất để làm điều đó là để tạm thời thay đổi động cơ và thêm củng cố và mô-đun uống một lân

NPM cài đặt củng cố

NPM cài đặt uống một lân

cons = require('consolidate'), 

app.engine('html', cons.swig); 
app.set('view engine', 'html'); 
app.set('views', __dirname + '/views'); 

Sau đó, bạn chỉ có thể làm như thế này:

app.get('/', function(req, res){ 
    res.render("index"); 
}); 
0

Tôi nghĩ bạn có thể sử dụng công cụ consolidatemustache khuôn mẫu

npm install consolidate mustache

var engines = require('consolidate'); app.engine('html', engines.mustache); app.set('view engine', 'html');

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