2014-02-21 7 views
6

Wie würde ich bei der Verwendung von Express.js von Parse.com anstelle von .ejs HTML-Erweiterungen für meine Ansichtsdateien verwenden?Ändern der Erweiterung .ejs in .html mit Parse.com Express.js

Ich habe die EJS-Trennzeichen auf <? und ?> geändert, weil ich von PHP gewohnt bin. Das funktionierte gut, aber ich kann nicht scheinen, die Dateierweiterung für meine Ansicht Dateien zu ändern:

Ich habe versucht, die folgenden:

var express = require('express'); 
var ejs = require('ejs'); 
var app = express(); 

ejs.open = '<?'; 
ejs.close = '?>'; 

app.set('view engine', 'ejs'); 
app.engine('.html', ejs.renderFile); 
app.set('views', 'cloud/views'); app.use(express.bodyParser()); 

app.get('/', function(req, res) { 
    res.render('Test', { message: 'Hello Express!' }); 
}); 

app.listen(); 

Und ich bekomme einen internen Serverfehler.

ich auch diese Zeile mit dem gleichen Ergebnis eliminiert habe versucht:

app.set('view engine', 'ejs');

+1

Ich bin mir nicht sicher, wer diese Frage unten gewählt hat, aber es ist eine gute Frage. Ich habe mit Lenker nichts Ähnliches gemacht und alle .handle/.hbs Dateien in .html geändert. Lemme, ob ich etwas für dich arbeiten kann. – jemiloii

+0

Ich habe eine Antwort für Sie geschrieben, wenn es funktioniert, machen Sie es als richtig, wenn nicht sagen Sie mir, damit ich helfen kann! – jemiloii

+0

Hi Jemilol, das habe ich eigentlich schon probiert und es hat nicht funktioniert. Ich habe die Idee aufgegeben, Parse.com als Host für mein Express-Projekt zu verwenden. Es ist eine sehr seltsame, eingeschränkte Umgebung. Und sie sind unklar, was Sie mit Ihrem "Server" tun können und was nicht. Ich entschied mich, meinen eigenen Node/Express-Server bei Digital Ocean hochzufahren, was großartig ist. – AJB

Antwort

20
app.set('view engine', 'html'); 
app.engine('html', ejs.renderFile); 

So habe ich app.set html und app.engine HTML und es war für mich arbeiten.

+0

Änderte meine Meinung, um dies die richtige Antwort zu machen. Allerdings habe ich nie mit Parse.com arbeiten, obwohl dies die richtige Syntax ist, um dies mit Express.js zu erreichen. – AJB

1

diese Weise funktioniert auch:

app.set('view engine', 'html'); 
app.engine('html',require('ejs').renderFile); 

jemand ein Problem mit dieser Art und Weise weiß?

+3

Es ist das gleiche. Die angenommene Antwort geht davon aus, dass var ejs = require ("ejs") früher spezifiziert wurde. –