Frage

Ist es möglich, eine Express -Anwendung (Knoten) zu erstellen, ohne dass eine Vorlagenmotor wie Jade oder EJs erforderlich ist? Ich habe ein großes Projekt im letzten Jahr an der Universität und ich werde Knoten, Express, Socket.io, MongoDB und Websockets verwenden. Ich möchte mich nicht belasten, auch eine Vorlagensprache lernen zu müssen!

Standardmäßig verwendet Express Jade-t, -Template Fügen Sie Vorlagenunterstützung (jade | ejs) hinzu. Standard = jade

War es hilfreich?

Lösung

Ist es möglich, eine Express -Anwendung (Knoten) zu erstellen, ohne dass eine Vorlagenmotor wie JADE oder EJS erforderlich ist

Ja, so ist es. Sie können einfach HTML verwenden. Oder verwenden Sie einfach EJs. EJS ist ein Superset von HTML.

Ich möchte mich nicht belasten, auch eine Vorlagensprache lernen zu müssen!

Sie können an einem Tag eine Vorlagensprache lernen. Es wird dir wirklich helfen. Mach es einfach. Das ist es wert.

Andere Tipps

Wenn Sie es nur vermeiden möchten, eine andere Vorlagensprache zu lernen, möchten Sie möglicherweise Unterstrichvorlagen versuchen. Sie sind nur JavaScript, was Sie sowieso lernen werden.

documentCloud.github.com/underscore/#template

Sie können es mit:

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

Der einfachste Weg, dies zu tun, wäre, die Standard -App.get ('/') zu ersetzen ... Zeile mit Folgendem. Dann geben Sie die ganze Magie in Index.html. Dies wird zumindest für eine einzelne Seiten -App recht gut funktionieren.

mit den folgenden

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

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

Die beste Option derzeit besteht darin, EJS (Engine) zu verwenden und HTML zu akzeptieren und zu rendern:

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

Hinweis: Alle Ihre Ansichten oder Vorlagen haben die .html Verlängerung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top