• nodejs express框架一个工程中同时使用ejs模版和jade模版


      在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重写之前的页面,那么你现在可能需要新引入ejs或者jade模块,你仅仅需要做下面两步也许就能完成使用两个模版的工作

    1.consolidate.js

    cd 到项目目录:

    npm install consolidate --save
    

    打开项目的app.js(也许你的叫其他名字)  

    把app.js的形如下面的代码片段

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

    改为

    var engines = require('consolidate');
    app.engine('jade', engines.jade);
    app.engine('html', engines.ejs);
    // or use these
    // app.engine('jade', require('jade').__express);
    // app.engine('html', require('ejs').renderFile);
    
    app.set('view engine', 'jade');
    

    重启工程就可以了

    2.一点问题

    在我的一个项目A里我实际用到的代码是

    var engines = require('consolidate');
    
    app.engine('jade', engines.jade);
    app.engine('html', engines.ejs);
    // app.engine('jade', require('jade').__express);
    // app.engine('html', require('ejs').renderFile);
    
    app.set('view engine', 'jade');
    //多出以下一行
    app.set('view engine', 'html');
    

    这种写法在项目A里可以使用,但在另一个项目B里发现解析不了jade模板

    而在项目B中只能使用

    var engines = require('consolidate');
    
    app.engine('jade', engines.jade);
    app.engine('html', engines.ejs);
    
    
    app.set('view engine', 'jade');
    
    //或者
    //app.engine('jade', require('jade').__express);
    //app.engine('html', require('ejs').renderFile);
    
    //app.set('view engine', 'jade');
    

    求各位园友研究之后帮忙解答一下这是为什么?

    ejs jade  consolidate 版本一致express 版本4.12.x

     

  • 相关阅读:
    eclipse从接口快速跳转到实现类
    eclipse中mybatis的xml配置文件代码提示
    eclipse安装mybatis的插件
    eclipse修改默认的代码注释
    eclipse输入时自动提示
    eclipse中lombok注解不生效
    eclipse创建springboot项目
    家庭记事本(终)
    家庭记事本(6)
    人月神话(二)
  • 原文地址:https://www.cnblogs.com/gabrielchen/p/5082146.html
Copyright © 2020-2023  润新知