原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處
express框架依賴(lài)connect框架(node的一個(gè)中間件框架)
app.set('post',process.env.PORT||8080) //設(shè)置端口為process.env.PORT或者88
app.set('views',_dirnmae+'/views') //設(shè)置存視圖文件的目錄或者頁(yè)面的目錄,_dirname是全局變量,
用于儲(chǔ)存正在執(zhí)行的腳本所在的目錄
app.set('view engine','ejs') //設(shè)置視圖模板引擎為ejs,也有l(wèi)aytpl是layui的node版本引擎
————————————-connect中間件——————————————–
app.use('express.favicon()') //設(shè)置默認(rèn)圖標(biāo),如果想用自己的圖標(biāo),需要在favicon的方法內(nèi)
傳入全局的圖標(biāo)位置,如 favicon(_dirname+/imags/icon/icon.ico);
app.use(express.logger(dev));用于在終端輸出簡(jiǎn)單的日志
app.use(express.bodyparser()) //用于解析請(qǐng)求體
app.use(app.router) //調(diào)用路由解析的規(guī)則
app.use(express.static(path.join(_dirname,'public')))//設(shè)置存放靜態(tài)
資源的目錄為public,如image,css,js
app.get('/',function(req,res){
res.render('index',{title:'express});});
//使用路由來(lái)設(shè)置需要渲染的文件,并且將一個(gè)對(duì)象傳入來(lái)替換index.ejs的title變量,/代表app.get(‘post’)/獲取之前設(shè)置的post的值,可用于替換默認(rèn)的8080
http.createServer(app).listen(8080)
//通過(guò)http來(lái)創(chuàng)建http服務(wù),并且使用listen
來(lái)設(shè)置監(jiān)聽(tīng)端口
————————————–模板引擎————————————————-
模板引擎是一個(gè)將頁(yè)面模板與數(shù)據(jù)結(jié)合起來(lái)生成html頁(yè)面的工具
1.通過(guò)app.set()的來(lái)設(shè)置views(模板文件的位置)和view engine(模板引擎)
2.使用app.render()來(lái)渲染模板文件,需傳入兩個(gè)參數(shù),第一個(gè)是模板的名稱(chēng),第二個(gè)是傳入模板的對(duì)象,用于替換模板變量
—————————————ejs語(yǔ)法————————————————–
<%javascript%>
//javascript代碼<%=HTML%>
//替換后HTML代碼<%-HTML%>
//原始的HTML代碼
el:
data:['第一個(gè)','第二個(gè)','第三個(gè)']
<ul>
<% for(var i=0;i<data.length;i++){%> //js代碼開(kāi)始遍歷數(shù)據(jù)
<%= data[i]%> //將數(shù)據(jù)寫(xiě)入HTML
<% }%> //閉合遍歷
</ul>
—————————————–頁(yè)面布局—————————————————-
設(shè)置可復(fù)用頁(yè)面,文件名為app.ejs,內(nèi)容就是模板文件
頁(yè)面布局的時(shí)候,直接引入封裝起來(lái)的模塊模板文件<%-include app%>