1.Express是Nodejs開發中一個非常重量級的第三方框架,它對於NodeJS服務端就相當於Jquery對於HTML客戶端。
2.Express官網:
www.expressjs.com.cn/
expressjs.com/
3.Express的github地址:https://github.com/expressjs/express
4.Express官網是這樣介紹自己的:基於Node.js 平台,快速、開放、極簡的web 開發框架。
Express一個非常重要的亮點是它沒有改變nodejs已有的特性,而是在它的基礎上進行了拓展
5.Express三大核心功能
1.託管靜態資源
2.路由
==3.中間件==
Express最為核心的技術和思想,萬物皆中間件
bootstrap插件
.下載指令: npm i express
如果你的網站很慢,可以使用npm config set registry registry.npm.taobao.org/來提升速度
就是淘寶幫你把這個東西下載淘寶的伺服器上,然後你在淘寶伺服器上下載
//1.導入模組const express = require('express') //2.建立伺服器/* express() 相當於http模組的http.createServer() */ const app = express() //3.接收客戶端請求/*(1)express最大的特點就是自帶路由功能,我們無需在一個方法中處理所有請求 * 路由:一個請求路徑對應一個方法(函數) (2)在express中,每一個請求都是單獨的方法*/ app.get('/',(req,res)=>{ //回應客戶端資料//express回應資料send方法:自動幫我們設定好了回應頭,無需擔心中文亂碼問題res.send('月下風起') }) app.get('/heroInfo',(req,res)=>{ res.send({ name:'張三', age:20 }) }) //4.開啟伺服器app.listen(3000,()=>{ console.log('伺服器啟動成功') })
//1.導入模組const express = require('express') //2.建立伺服器/* express() 相當於http模組的http.createServer() */ const app = express() //3.接收客戶端請求//文字類型資料app.get('/',(req,res)=>{ //回應客戶端資料res.send('月下風起') }) //json格式資料app.get('/info',(req,res)=>{ //express自動幫我們將js物件轉成json回應給客戶端res.send({ name:'張三', age:20 }) }) //檔案類型資料app.get('/login',(req,res)=>{ res.sendFile(__dirname + '/login.html') }) //4.開啟伺服器app.listen(3000,()=>{ console.log('伺服器啟動成功') })
http://expressjs.com/en/starter/static-files.html
//1.導入模組const express = require('express'); //2.建立伺服器const app = express() //託管靜態資源(相當於我們之前寫的靜態資源伺服器) /* 1.當請求路徑為/時,express會自動讀取www資料夾中的index.html檔案回應回傳2.當路徑要求為www資料夾中的靜態資源,express會自動拼接檔案路徑並回應回傳*/ app.use(express.static('www')) //4.開啟伺服器app.listen(3000,()=>{ console.log('success') })
1.在Express官網,有非常多得第三方中間件,它們可以讓我們的Nodejs開發變得極其簡單
中间件前端的插件,使用后就会给express中的req或者res添加成员
2.所有的第三方框架學習套路都是一樣的
3.第三方中間件使用步驟一般都是固定兩步
一: 安裝npm i xxxx
(官網複製貼上)
二: 使用app.use(xxx)
(官網複製貼上)
body-parse第三方中介軟體:解析post請求參數
npm install body-parser
//導入模組const express = require('express') //建立伺服器const app = express() //使用第三方中間件/*所有的第三方模組思路都是一樣1.進官網,查文檔2.找examples(使用範例),複製貼上a.安裝第三方模組:`npm i body-parser` b.使用中間件: arr.use(具體用法請複製貼上) 使用body-parser中間件之後,你的req會增加一個body屬性,就是你的post請求參數*/ //(1)導入模組const bodyParser = require('body-parser') // parse application/x-www-form-urlencoded //(2)使用中間件app.use(bodyParser.urlencoded({ extended: false })) //解析json參數app.use(bodyParser.json()) app.post('/abc',(req,res)=>{ console.log(req.body) //告訴客戶端我收到的參數res.send(req.body) }) app.post('/efg',(req,res)=>{ console.log(req.body) //告訴客戶端我收到的參數res.send(req.body) }) //開啟伺服器app.listen(3000, () => { console.log('success'); })