2013-02-25 12 views
16

Szenario zu verwenden: Ich habe einige Transaktionsseiten entwickelt hatte, mit Node.js, Express + Handlebars als Ansicht Motor und MongoDB.Gibt es eine Möglichkeit, mehr Ansicht Motoren mit Express + Node.js

Jetzt ist das Problem während der Modulintegration Ich habe einige der Seiten, die auf Express + Jade als View Engine gebaut werden.

Frage: Wie Seiten auf Lenker & einige auf Jade gebaut integrieren?

+0

Können Sie zeigen, wie Sie mit der Identifizierung der Seiten behandelt? – Lion789

Antwort

17
  1. beiden Motoren hinzufügen und consolidate.js in Ihrem package.json
  2. In yourapp.js

    var Motoren = require ('Konsolidierung');

    app.engine ('jade', engines.jade);

    App.Motor ("Lenker", Motoren.Lenker);

Mehr Infos here

+0

Ist es möglich, eine benutzerdefinierte Vorlagen-Engine hinzuzufügen? http://expressjs.com/advanced/developing-template-engines.html –

+1

Das schien nicht für mich zu arbeiten. Express 4 scheint immer alle Dateien mit derselben Engine zu rendern, auch wenn die Dateierweiterung mit einer anderen Engine übereinstimmt. –

+0

@WayneBloss klingt für mich wie Sie haben eine Standard-Vorlage-Engine in Ihrem Code versteckt. Wenn Sie die App erstellt oder von einer Vorlage gestartet haben/einem Leitfaden/etc gefolgt sind, wird in Ihrer App wahrscheinlich irgendwann ein Standard-Render angegeben. – TyP

3

Express 4.0 und up-Lösung (bis es ändert sich wieder)

  1. NPM installieren Sie die Motoren die Sie benötigen.

    // some examples 
    npm install ejs 
    npm install pug 
    npm install handlebars 
    
  2. die Motoren setzen in Ihrem app.js zu verwenden.

    app.set('view engine', 'pug'); 
    app.set('view engine', 'ejs'); 
    
  3. Rendern Sie Ihre Vorlage, achten Sie darauf, die Dateierweiterung festzulegen.

    // forces usage of the respective render engine by setting the file extension explicitly. 
    res.render('about.ejs', { title: 'About' }); 
    res.render('about.pug', { title: 'About' }); 
    
  4. Dokumentation für weitere Anwendungsbeispiele.

Verwandte Themen