使用express搭建伺服器框架
阿新 • • 發佈:2020-12-15
1.首先需要安裝node環境,版本最新比較好,最低4.0+吧
2.express中文官網:http://www.expressjs.com.cn/,
3.到官網可以學一些express的基礎用法,初始化一個專案seed可以使用express生成器
4.下載
開啟終端使用npm下載
npm install express
使用
// 引入express const express = require("express"); // 建立伺服器物件 const app = express(); // 開啟監聽 app.listen(80, () => { console.log("http://127.0.0.1:80"); });
靜態功能
我們想要訪問一個頁面的時候 可以利用express的中介軟體,實現靜態功能的託管
// 引入express const express = require("express"); // 建立伺服器物件 const app = express(); // 靜態資源託管 app.use(express.static('public')) app.use('/static',express.static('static')) // 開啟監聽 app.listen(80, () => { console.log("http://127.0.0.1:80"); });
5.進入專案目錄 ,執行npm install安裝專案所需要的依賴,看到下圖的情況說明依賴安裝完成
- + [email protected]看到這一行有+表示安裝成功,否則失敗
- 不要輕易開啟多個終端,會找不到報錯
- 想要刪除重新進入終端的刪除,點了右上角叉號只是進行了關閉,下載的依賴工具沒有清除
處理get請求
app.get(path,callback)
path:合法路徑
callback:回撥函式
函式有三個引數
第一個引數req:請求頭物件
第二個引數res:響應物件
第三個引數next() 方法 是一個放行函式
// 傳送get請求 檢測"/" url // 回撥函式是檢測到url 才會執行 app.get('/', function (req, res) { res.send('我是get請求') })
獲取query資料
獲取get傳遞的資料 可以通過req.query獲取前端提交的資料
req.query是express對原生的node請求頭物件新增的屬性
// 匯入express模組 const express = require('express') // 建立伺服器物件 const app = express() // 傳送get請求 檢測"/" url // 回撥函式是檢測到url 才會執行 app.get('/', function (req, res) { console.log(req.query); res.send('Hello World') }) // 開啟監聽 app.listen(80)
可以使用Postman來測試路由
處理post請求
post傳送資料較大需要拼接再用querystring模組轉換
1 app.post('/add', (req, res) => { 2 var str = '' 3 req.on('data', data => { 4 str += data; 5 }) 6 req.on('end', () => { 7 var data = querystring.parse(str); 8 console.log(data); 9 }) 10 res.send("/add") 11 })
express開發中間件
中介軟體功能是可以訪問請求物件(req
),響應物件(res
)和next
應用程式的請求-響應週期中的功能的功能。
中介軟體的作用其實就是: 在請求響應之間,執行自定義邏輯
中介軟體功能可以執行以下任務:
- 執行任何程式碼。
- 更改請求和響應物件。
- 結束請求-響應週期。
- 呼叫堆疊中的下一個中介軟體。
如果當前的中介軟體功能沒有結束請求-響應週期,則必須呼叫next()
將控制權傳遞給下一個中介軟體功能。否則,該請求將被掛起。