Nodejs express框架一個工程中同時使用ejs模版和jade模版
在某些項目中,比如你接手了一個別人的項目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重寫之前的頁面,那么你現(xiàn)在可能需要新引入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里發(fā)現(xiàn)解析不了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指南中利用利用以下命令建立網(wǎng)站的基本結(jié)構(gòu):
express -t ejs microblog
運行這個命令后繼續(xù)運行
cd microblog && npm install(安裝項目的依賴屬性),發(fā)現(xiàn)安裝的模板引擎是jade,而不是ejs。原因是現(xiàn)在的版本已經(jīng)沒有-t這個命令了,改為
express -e microblog
運行完這個命令,繼續(xù)運行cd microblog && npm install,ejs模板引擎就安裝好了
但是express3以上的版本把layout默認給取消了,所以現(xiàn)在在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());
在需要引用模板的地方調(diào)用 layout:'模版名稱' 示例
app.get('/reg', function (req, res) {
res.render('reg', {
title: '用戶注冊',
layout: 'template'
});
});


以上內(nèi)容給大家介紹了Nodejs express框架一個工程中同時使用ejs模版和jade模版,希望大家喜歡。
相關(guān)文章
win系統(tǒng)下nodejs環(huán)境安裝配置
這篇文章主要介紹了win系統(tǒng)下nodejs環(huán)境安裝配置的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
Node.js中讀取TXT文件內(nèi)容fs.readFile()用法
在本篇文章中我們給大家分享一下Node.js中讀取TXT文件內(nèi)容以及fs.readFile()的用法,需要的朋友們可以參考下。2018-10-10
詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù)
這篇文章主要介紹了詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
VSCode通過Ctrl+P快速打開node_modules中的文件的操作方法
由于node_modules目錄包含的文件太多,在VSCode中默認情況下是禁止搜索node_modules目錄的,在這種情況下,我們將不得不依次展開node_modules的文件目錄樹,來查找我們所需要的文件,接下來介紹VSCode如何通過Ctrl+P快速打開node_modules中的文件,需要的朋友可以參考下2023-07-07

