如何利用node轉(zhuǎn)發(fā)請求詳解_第1頁
如何利用node轉(zhuǎn)發(fā)請求詳解_第2頁
如何利用node轉(zhuǎn)發(fā)請求詳解_第3頁
如何利用node轉(zhuǎn)發(fā)請求詳解_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第如何利用node轉(zhuǎn)發(fā)請求詳解需求

vue項目開發(fā)過程中,接口跨域是一個很常見的問題。在開發(fā)時候可以用vue自帶的proxy可以輕松解決。生產(chǎn)環(huán)境下,前端項目往往是部署在后端項目下,不會存在跨域的問題,接口前綴可以忽略。

dev環(huán)境下,請求一個產(chǎn)品列表接口,我們可能會這么做:

/api/product/list

生產(chǎn)環(huán)境下,前綴可以忽略:

/api/product/list

問題來了,如果我們想在本地測試生產(chǎn)環(huán)境下的前端項目,會存在跨域的問題;發(fā)給后端部署項目又太麻煩,修改代價太大。我們可以自己部署一個簡易的node服務(wù),來部署自己的前端項目~

實現(xiàn)

0.安裝依賴

npmikoa--save-dev

npmikoa-static--save-dev

npmikoa-mount--save-dev

npmihttp-proxy-middleware--save-dev

npmikoa2-connect--save-dev

1.koa搭建簡易服務(wù)端

引入koa,然后監(jiān)聽端口

constKoa=require(koa

constKoa=require(koa

constpath=require(path

constapp=newKoa();;

constport=process.env.PORT||3000;

app.listen(port,()={

console.log(`Yourapplicationisrunninghere:http://localhost:${port}`);

開放dist(即打包出來的目錄)

constkoaStatic=require(koa-static

constkoaMount=require(koa-mount

//開放目錄

app.use(koaMount(/,koaStatic(resolve(../dist))));

這樣差不多就完成了,跑服務(wù)然后打開3000端口,項目能夠正常訪問:

2.轉(zhuǎn)發(fā)接口請求

項目是能正常請求了,可是還需要處理接口問題,即node當(dāng)成中間件,轉(zhuǎn)發(fā)前端接口請求到真正的后端接口

const{createProxyMiddleware}=require(http-proxy-middleware

constk2c=require(koa2-connect

app.use(async(ctx,next)={

consturl=ctx.path;

if(url.startsWith(/api)){

ctx.respond=false;

awaitk2c(

createProxyMiddleware({

target:#后端的接口地址,

changeOrigin:true,

secure:false,

)(ctx,next);

return

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論