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

 

时间: 2024-10-10 20:20:47

nodejs express框架一个工程中同时使用ejs模版和jade模版的相关文章

基于nodeJs express 框架的图片上传和编辑(引用美图编辑工具)上传小示例

唉,由于近期工作中对于新知识的运用相对较少,也导致小码哥少有更新鄙人心得的机会.还望路过的基友们不要抱怨,勿喷,,,,, 本篇文章,是基于NodeJs Express框架完成的一个用于项目中图片上传和编辑上传的小示例,当然,由于项目工期不禁,都是在非工作时间慢慢完成的,导致至今该图片上传功能也未能插入项目中真正的验证最终效果.不过就小码哥感觉,基本思路及基本功能算是完成了. 下面便由小码哥来给基友们稍微讲解改功能的实现过程及其中用到的一些技术等等. 首先,说说NodeJs Express框架的搭

在一个工程中同时使用Swift和Objective-C

Swift 与 Objective-C 的兼容能力使你可以在同一个工程中同时使用两种语言.你可以用这种叫做 mix and match 的特性来开发基于混合语言的应用,可以用 Swfit 的最新特性实现应用的一部分功能,并无缝地并入已有的 Objective-C 的代码中. Mix and Match 概述 Objective-C 和 Swift 文件可以在一个工程中并存,不管这个工程原本是基于 Objective-C 还是 Swift.你可以直接往现有工程中简单地添加另一种语言的源文件.这种自

React第六篇: 搭建React + Router + antd + nodejs + express框架搭建(nodejs做前后端server)

前提: nodejs >= 10.0;  这里不推荐用官网的yarn安装antd的模块,因为后续会出错,错误如图: 也不推荐用npx方法来搭建react骨架,也会出错,让我们开始吧!!   前端React+Antd框架搭建 1.安装并启动create-react-app骨架应用 打开cmd按顺序执行以下指令: npm install -g create-react-app   (全局安装create-react-app, 默认会安装在C盘个人用户下) create-react-app my-ap

Nodejs Express框架

ctrl + h Nodejs Express框架

Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。

如何实现一个工程中不同模块加载不同版本的同名jar包? 曾是阿里面试的时候遇到的一个面试题.当时就有点晕,如果是平时遇到这样的问题肯定是统一加载相同版本的就好了. 而如果系统特别庞大依赖冲突繁多,涉及多部门协调,真的有必要解决这样的问题. 这个问题困扰我很久,一直没有好的解决办法.最近研究java虚拟机.终于找到了答案. 在JVM里由类名和类加载器区别不同的Java类型.因此,JVM允许我们使用不同的加载器加载相同namespace的java类,而实际上这些相同namespace的java类可以

[转载]android工程中引入另一个工程中的资源

原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以用intent等方法来解决.但是如果涉及到要共用资源,而又不能像传统java程序那样打成jar包,比如程序中有大量自定义view,而这些自定义view都引用了的一些资源文件时,就可以用这个方法. 工程一:MyViews 代码如下: public class MyTextView extends Te

初入nodeJs express框架

学习nodejs,对于前端人员来说,不懂后台技术,也是不太容易的.当然,nodejs的唯一好处貌似就是其代码编写编译等风格上的JavaScript相同,可以说,其就是通过JavaScript进行后台代码的编写.这对于JavaScript语言来说,有了新的突破和革新(革新有点大了,突破是肯定的)呵呵. 鉴于很多前端人员不懂后台语言,学习nodejs,学会通过nodejs下的开源框架express来搭建完整的项目框架还是很有必要的. express是一个nodejs里的开源框架,在网上可以说前前后后

express创建一个工程测试

创建一个工程 现在已经有express 键入:express myapp (myapp是随意起的工程名称) 你会发现多了一个 C:\Program Files\nodejs\myapp 目录 默认情况下:里会自动创建 这几个文件,不做解释,相信有过开发经验的同学都能一眼明了. 复制node_modules到myapp下面 环境搭建到此完工,下面做一个demo测试! 在myapp下新建helloworld.js复制代码 代码如下: var http = require("http");h

Node.js学习笔记(6)——使用Express创建一个工程

前提是搭建好了环境,node,npm,express:(推荐全局安装) 开始用express创建一个基础工程: express –t ejs microblog 进入文件夹之后 npm-install(自动安装好要用的依赖) 这个时候,用浏览器访问localhost:3000,就可以出来一个欢迎界面了,这里简单说下原理:当你在浏览器输入这个地址砸下回车的瞬间,node搭建的一个网站后台程序开始工作,在app.js这个文件里面,有app.get(‘/’, routes.index);这一句话的作用