有没有办法使用Express + Node.js多个视图引擎

Amo*_*rni 22 viewengine node.js express handlebars.js pug

场景:我使用Node.js,Express + Handlebars作为视图引擎和MongoDB开发了一些事务页面.

现在的问题是在模块集成期间,我得到了一些构建在Express + Jade上作为视图引擎的页面.

问题:如何整合在Handlebars上构建的页面和一些在Jade上的页面?

Ser*_*gii 22

  1. package.json中添加引擎和consolidate.js
  2. yourapp.js

    var engines = require('巩固');

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

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

更多信息在这里


aza*_*iah 16

Express 4.0及以上解决方案(直到它再次更改)

  1. NPM安装您需要的引擎.

    // some examples
    npm install ejs
    npm install pug
    npm install handlebars
    
    Run Code Online (Sandbox Code Playgroud)
  2. 设置要在您的引擎中使用的引擎app.js.

    app.set('view engine', 'pug');
    app.set('view engine', 'ejs');
    
    Run Code Online (Sandbox Code Playgroud)
  3. 渲染模板,请务必设置文件扩展名.

    // 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' } );
    
    Run Code Online (Sandbox Code Playgroud)
  4. 有关更多用法示例的文档.