3月31日知識點
- 日考知識點自己復(fù)習(xí)
- express的六個方法背寫熟練(express入門案例)
- EJS是什么?
3月31日
express是什么焕襟?
- express是Node.js服務(wù)器的框架。
- express是一個Node.js的模塊饭豹。
1鸵赖、express()
定義
- Express()是該框架的核心函數(shù)。
-
express()
用于創(chuàng)建一個APP(Node.js + Express)拄衰。 -
express()
函數(shù)是一個頂級函數(shù)它褪。
語法
const express = require('express')//引入模塊
const app = express()//暴露函數(shù) 成為頂級函數(shù)
express()的方法
- express.json()
- express.static()
- express.Router()
- express.urlencoded()
返回值
示例
2、 app.get()
定義
app.get()
方法通過回調(diào)函數(shù)處理GET請求翘悉。
官方:通過回調(diào)函數(shù)把請求路由到指定路徑茫打。
語法
app.get(path,callback)
app.get('請求地址',回調(diào)函數(shù)) //=> 中間件函數(shù)(勾子函數(shù))
app.get('/', (req, res) => {
console.log(req) //req就是Node.js的request對象
console.log(res)//res就是Node.js的response對象
})
返回值
示例
3、app.use()
定義
app.use()
在指定路徑上掛載中間件函數(shù)妖混。
語法
app.use([path,] callback [, callback...])
app.use('路徑', 回調(diào)函數(shù))
app.use('/about',() => {})
app.use(() => {}) //不寫路徑老赤,那意味著所有路徑都會執(zhí)行回調(diào)
返回值
示例
4、app.listen()
定義
app.listen()
用于為app綁定監(jiān)聽源葫,監(jiān)聽主機端口是否有請求進來诗越。此方法與 Node 的 http.Server.listen() 相同。
語法
app.listen([port[, host[, backlog]]][, callback])
app.listen(端口號,主機名,回調(diào)函數(shù))
返回值
示例
5息堂、res.sendFile()
定義
按照指定路徑發(fā)送響應(yīng)數(shù)據(jù)(作為響應(yīng)數(shù)據(jù))。
- 根據(jù)文件擴展名設(shè)置 Content-Type 響應(yīng) HTTP 標(biāo)頭字段荣堰。
- 除非在選項對象中設(shè)置了根選項床未,否則路徑必須是文件的絕對路徑。
語法
res.sendFile(path [, options] [, fn])
res.sendFile('路徑' {選項對象},回調(diào)函數(shù))
- path必須是一個絕對路徑
- path如果是一個相對路徑振坚,那么你必須在選項對象中設(shè)置根選項薇搁。
返回值
示例
options
定義
options
就是選項對象。
- 它是一個對象
- 對象里存儲的是一些屬性參數(shù)渡八。
{
path:'',
chaset: 'utf-8'
}
6啃洋、 res.status()
定義
設(shè)置響應(yīng)的 HTTP 狀態(tài)碼。支持鏈?zhǔn)秸{(diào)用
語法
res.status(403).end()
res.status(400).send('Bad Request')
res.status(400).sendFile('/absolute/path/404.png')
返回值
返回響應(yīng)對象屎鳍。
示例
7宏娄、ejs是什么?
- ejs是 Embedded JavaScript templating的縮寫逮壁,
- ejs的意思:嵌入js的HTML模版(不是嵌入到
<script>
里)孵坚。 - ejs是面向服務(wù)端的
- ejs是在服務(wù)端把js嵌入到html頁面里
- 服務(wù)端解析ejs語法 => 翻譯成html
- 把編譯后的html返給瀏覽器端
- ejs實現(xiàn)的功能類似于php實現(xiàn)的功能:動態(tài)渲染數(shù)據(jù)到HTML頁面里。
- JS是面向瀏覽器端的腳本語言。
- PHP是面向服務(wù)端的腳本語言卖宠。
- 為什么能夠解析PHP巍杈,因為服務(wù)端安裝了PHP軟件
//ejs代碼
<ul>
<% users.forEach(function(user){ %>
<%- include('user/show', {user: user}); %>
<% }); %>
</ul>
8、 app.set()
定義
app.set()
方法用于:1.存儲自定義值 2.配置服務(wù)器行為扛伍。
服務(wù)器行為有些特殊的字段筷畦,用于配置服務(wù)器行為:
9、 res.render()
定義
render()
方法用于編譯ejs模版刺洒,把編譯后的html代碼發(fā)送給客戶端汁咏。
語法
res.render(view [, locals] [, callback])
res.render(視圖,{選項},回調(diào)函數(shù))