在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的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');
Express框架中如何引用ejs模板引擎
1.如何在项目中安装ejs模板引擎
在NodeJS指南中利用利用以下命令建立网站的基本结构:
express -t ejs microblog
运行这个命令后继续运行
cd microblog && npm install(安装项目的依赖属性),发现安装的模板引擎是jade,而不是ejs。原因是现在的版本已经没有-t这个命令了,改为
express -e microblog
运行完这个命令,继续运行cd microblog && npm install,ejs模板引擎就安装好了
但是express3以上的版本把layout默认给取消了,所以现在在views文件夹下并没有生成layout.ejs。
2.安装了ejs后,如何使用ejs的layout模板
安装express-partials
在cmd中切换到项目目录,运行npm install express-partials或者
在 package.json 里面的 dependencies 添加 "express-partials": "*"。然后在项目目录下运行 npm install 。
然后在app.js 里面引用 express-partials,引用方法:
1.添加引用 var partials = require('express-partials');
2.在 app.set('view engine', 'ejs'); 下面添加 app.use(partials());
在需要引用模板的地方调用 layout:'模版名称' 示例
app.get('/reg', function (req, res) { res.render('reg', { title: '用户注册', layout: 'template' }); });
以上内容给大家介绍了Nodejs express框架一个工程中同时使用ejs模版和jade模版,希望大家喜欢。
问题内容: 我正在使用nodejs和express建立一个网站。如何使页面中的划分动态化?是用玉吗?如果没有怎么做,angularjs是做什么用的?请帮助我在Google上搜索了很多东西,但我不清楚它们的用法。 问题答案: Jade在 服务器端 创建浏览器中使用的html 。浏览器执行对Web服务器的请求,Web服务器执行Jade,Jade将生成将发送到浏览器的html。在过去约20年中,这种 服
问题内容: 我想在客户端使用Jade模板。最好使用Rails 3.1资产管道生成。我真的不知道该怎么做。 有人偶然发现相同的问题并找到了解决方案的人吗?任何想法都非常感谢。 http://jade-lang.com/ http://ryanbigg.com/guides/asset_pipeline.html 问题答案: 浏览器 也许您可以使用https://github.com/substack
我想在同一框架中使用2个面板。但是button不起作用了?我该怎么做?我想在一个面板上放几个按钮,另一个面板会做一些其他的事情。
我有一个包含两个maven模块(moduleA和moduleB)的java项目,其中每个模块都希望访问同一库的不同版本(v1和v2)。moduleA使用moduleB作为依赖项。我创建moduleB主要是为了解决这个问题,同时也认为它将保持代码的良好组织。 我在moduleA的pom.xml中使用了maven shade插件,认为它将帮助我区分每个版本的类,但我仍然得到“NoSuchMethodE
随着互联网的飞速发展,前端开发越来越复杂,导致开发经常出现两个问题: 恼人的命名冲突 烦琐的文件依赖 针对这两个问题,可以使用js模块化技术来解决。当前主流的js模块化有两大规范CMD(Seajs)和AMD规范(RequireJS)。WeX5采用RequireJS(AMD规范)来实现,关于RequireJS的详细说明参考:http://www.requirejs.org/ 接下来我们介绍在WeX5