2013-08-22 10 views
5

Wie rendert man eine html Datei, während die Template Engine als jade beibehalten wird?Rendering `html` bei der Verwendung von` Jade` Templating Engine, in Express

app.set('view engine', 'jade'); ist, wo ich die Template-Engine wie jade festgelegt haben, und ich will etwas tun, wie

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

die html Datei zu machen.

Ich programmiere in node.js mit express.js.

Hinweis: Ich habe bereits requirehtmlvar html=require('html');

bearbeiten mit:

Ich verstehe res.render brauchen, ist bereits erbrachte nicht als html verwendet werden. res.send(profile.html); gibt Fehler von profile is undefined

+1

html nicht soll gemacht werden. Es ist statisch, senden Sie einfach die Datei. Besser verwenden Sie es mit Express-Statik. – user568109

+0

res.send (profile.html) funktioniert nicht. Wie lautet die Syntax zum Senden einer 'html' Datei mit res.send – Swagg

+1

Lies die Datei 'profile.html' und sende sie dann. – user568109

Antwort

11

Sie Jade-Dateien wiedergeben kann (.jade), aber nicht HTML-Dateien als das Ergebnis der html sein. Was meinst du mit dem Rendern der HTML-Datei?

Ersetzen Sie Ihre res.render('profile.html') von res.sendfile('[path_to_the_file]profile.html')

+0

Ich möchte sehen, wie einige HTML-Dateien gerendert werden, ohne die Templating-Engine zu ändern. Es ist im Grunde während der Entwicklung. Es ist ein Problem, alle gefundenen HTML-Dateien in Jade zu konvertieren, bevor Sie sehen können, wie sie aussehen. – Swagg

+2

Ich verstehe wirklich nicht ... Sie können nicht HTML-Datei rendern, da sie bereits HTML sind. Mach einfach res.send ('profile.html') und es wird nicht gerendert. –

+0

also statt, res.render, ich mache res.send ('profile.html'); ? Funktioniert nicht. – Swagg

-2

, wenn Sie die HTML-Dateien testen möchten, ist der einfachste Weg, es zu tun ist, um den Motor vorübergehend zu ändern und fügen Sie konsolidieren und swig Module

npm installieren konsolidieren

npm installieren swig

cons = require('consolidate'), 

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

Dann können Sie einfach so machen:

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

Ich glaube, Sie consolidate und mustache Template-Engine verwenden können

npm install consolidate mustache

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

Verwandte Themen