Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版
在某些項(xiàng)目中,比如你接手了一個(gè)別人的項(xiàng)目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重寫之前的頁面,那么你現(xiàn)在可能需要新引入ejs或者jade模塊,你僅僅需要做下面兩步也許就能完成使用兩個(gè)模版的工作
1.consolidate.js
cd 到項(xiàng)目目錄:
npm install consolidate --save
打開項(xiàng)目的app.js(也許你的叫其他名字)
把a(bǔ)pp.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.一點(diǎn)問題
在我的一個(gè)項(xiàng)目A里我實(shí)際用到的代碼是
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');
這種寫法在項(xiàng)目A里可以使用,但在另一個(gè)項(xiàng)目B里發(fā)現(xiàn)解析不了jade模板
而在項(xiàng)目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.如何在項(xiàng)目中安裝ejs模板引擎
在NodeJS指南中利用利用以下命令建立網(wǎng)站的基本結(jié)構(gòu):
express -t ejs microblog
運(yùn)行這個(gè)命令后繼續(xù)運(yùn)行
cd microblog && npm install(安裝項(xiàng)目的依賴屬性),發(fā)現(xiàn)安裝的模板引擎是jade,而不是ejs。原因是現(xiàn)在的版本已經(jīng)沒有-t這個(gè)命令了,改為
express -e microblog
運(yùn)行完這個(gè)命令,繼續(xù)運(yùn)行cd microblog && npm install,ejs模板引擎就安裝好了
但是express3以上的版本把layout默認(rèn)給取消了,所以現(xiàn)在在views文件夾下并沒有生成layout.ejs。
2.安裝了ejs后,如何使用ejs的layout模板
安裝express-partials
在cmd中切換到項(xiàng)目目錄,運(yùn)行npm install express-partials或者
在 package.json 里面的 dependencies 添加 "express-partials": "*"。然后在項(xiàng)目目錄下運(yùn)行 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: '用戶注冊(cè)', layout: 'template' }); });
以上內(nèi)容給大家介紹了Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版,希望大家喜歡。
相關(guān)文章
Nodejs?Docker鏡像體積優(yōu)化實(shí)踐詳解
這篇文章主要為大家介紹了Nodejs?Docker鏡像體積優(yōu)化實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Node.js操作mysql數(shù)據(jù)庫(kù)增刪改查
這篇文章主要介紹使用Node.js操作mysql數(shù)據(jù)庫(kù)增刪改查的相關(guān)資料,需要的朋友可以參考下2016-03-03nodejs+express實(shí)現(xiàn)文件上傳下載管理網(wǎng)站
這篇文章主要為大家詳細(xì)介紹了nodejs+express實(shí)現(xiàn)文件上傳下載管理的網(wǎng)站,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03node實(shí)現(xiàn)socket鏈接與GPRS進(jìn)行通信的方法
這篇文章主要介紹了node實(shí)現(xiàn)socket鏈接與GPRS進(jìn)行通信的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Nodejs極簡(jiǎn)入門教程(一):模塊機(jī)制
這篇文章主要介紹了Nodejs極簡(jiǎn)入門教程(一):模塊機(jī)制,本文講解了模塊基礎(chǔ)知識(shí)、模塊的加載、包等內(nèi)容,需要的朋友可以參考下2014-10-10node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法
最近發(fā)現(xiàn)了node.js居然報(bào)錯(cuò)了,錯(cuò)誤提示為:Cannot find module 'ejs',后來找了找資料發(fā)現(xiàn)解決的方法其實(shí)很簡(jiǎn)單,下面通過這篇文章來一起看看吧,希望對(duì)同樣遇到這個(gè)問題的朋友們能有所幫助。2016-12-12從零開始學(xué)習(xí)Node.js系列教程三:圖片上傳和顯示方法示例
這篇文章主要介紹了Node.js圖片上傳和顯示方法,結(jié)合實(shí)例形式分析了nodejs基于http傳輸圖片文件及顯示圖片的相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2017-04-04新手必須知的Node.js 4個(gè)JavaScript基本概念
本文介紹了4個(gè)基本JavaScript概念,它是你學(xué)習(xí)node.js所必需要掌握,下面就讓我們來看一下具體是哪4個(gè)基本JavaScript概念2018-09-09