首先我們要明白什么是請求轉(zhuǎn)發(fā)皱坛,一般來說前端向后端請求數(shù)據(jù)握巢,需要后端給前端一個(gè)鏈接唐含,前端直接請求連接上的數(shù)據(jù)彤路,請求轉(zhuǎn)發(fā)就是用node轉(zhuǎn)發(fā)請求到后端秕硝,獲取到的數(shù)據(jù)由node返回給前端,理解起來node像是一個(gè)中轉(zhuǎn)站斩萌。
1.引入express模塊
express是基于node.js的開發(fā)框架缝裤∑梁洌可以用它來快速搭建一個(gè)完整功能的網(wǎng)站
引入express時(shí),像引入其他模塊一樣先創(chuàng)建package.json文件憋飞,再 npm install 就可以使用了
2.用node模擬后端服務(wù)
假設(shè)現(xiàn)在有兩個(gè)服務(wù):服務(wù)A和服務(wù)B霎苗,這里我們用node模擬一個(gè)后端服務(wù),并在服務(wù)服務(wù)上放入數(shù)據(jù){"data“: "8091"}
此時(shí)在終端中切換到serverA.js 的父級文件夾下榛做,輸入命令 node serverA.js 唁盏,服務(wù)A創(chuàng)建完成。
在瀏覽器中輸入http://localhost:8091/ 可以看到我們放在服務(wù)A上的數(shù)據(jù){"data": "8091"}
注:app.get()方法是node中的后端路由检眯,詳情鏈接expressAPI
3.使用node進(jìn)行請求中轉(zhuǎn)
創(chuàng)建中轉(zhuǎn)服務(wù)serverB.js
進(jìn)行中轉(zhuǎn)請求時(shí)我們會(huì)用到request請求模塊厘擂,像引入其他模塊一樣,首先在終端中輸入
$ npm install request
serverB.js代碼如下
serverB.js是在 ?
http://localhost:8092 ?上創(chuàng)建了一個(gè)新的服務(wù)
代碼中這個(gè)服務(wù)上并沒有放任何的數(shù)據(jù)锰瘸,只是使用request請求了http://localhost:8091上的數(shù)據(jù)刽严,現(xiàn)在我們可以在終端中輸入 node serverB.js?
在瀏覽器中輸入http://localhost:8092 結(jié)果如下
可以看到,8092上出現(xiàn)了8091上的數(shù)據(jù)避凝,說明請求轉(zhuǎn)發(fā)成功
現(xiàn)在前端可以請求http://localhost:8092 得到 http://localhost:8091 上的數(shù)據(jù)啦??