亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何利用node轉(zhuǎn)發(fā)請(qǐng)求詳解

 更新時(shí)間:2020年09月17日 09:26:26   作者:小豪看世界  
這篇文章主要給大家介紹了關(guān)于利用node轉(zhuǎn)發(fā)請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

本篇文章基于 vue、node(koa)

需求

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

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

https://www.baidu.com/api/product/list

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

/api/product/list

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

實(shí)現(xiàn)

0. 安裝依賴(lài)

npm i koa --save-dev
npm i koa-static --save-dev
npm i koa-mount --save-dev
npm i http-proxy-middleware --save-dev
npm i koa2-connect --save-dev

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

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

const Koa = require('koa');
const Koa = require('koa');
const path = require('path');

const app = new Koa();;
const port = process.env.PORT || 3000;

app.listen(port, () => {
 console.log(` Your application is running here: http://localhost:${port}`);
});

開(kāi)放 dist(即打包出來(lái)的目錄)

const koaStatic = require('koa-static');
const koaMount = require('koa-mount');

// 開(kāi)放目錄
app.use(koaMount('/', koaStatic(resolve('../dist'))));

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

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

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

const { createProxyMiddleware } = require('http-proxy-middleware');
const k2c = require('koa2-connect');

app.use(async (ctx, next) => {
 const url = ctx.path;
 if (url.startsWith('/api')) {
 ctx.respond = false;
 await k2c(
  createProxyMiddleware({
  target: # 后端的接口地址,
  changeOrigin: true,
  secure: false,
  }),
 )(ctx, next);
 }
 return await next();
});

最后再打開(kāi)瀏覽器查看,大功告成,接口轉(zhuǎn)發(fā)成功~

完整代碼

完整代碼

總結(jié)

到此這篇關(guān)于如何利用node轉(zhuǎn)發(fā)請(qǐng)求的文章就介紹到這了,更多相關(guān)node轉(zhuǎn)發(fā)請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在nodejs中創(chuàng)建child process的方法

    在nodejs中創(chuàng)建child process的方法

    這篇文章主要介紹了在nodejs中創(chuàng)建child process的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • node文字生成圖片的示例代碼

    node文字生成圖片的示例代碼

    本篇文章主要介紹了node文字轉(zhuǎn)圖片的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • nodejs 生成和導(dǎo)出 word的實(shí)例代碼

    nodejs 生成和導(dǎo)出 word的實(shí)例代碼

    前段時(shí)間由于項(xiàng)目需求,得做excel和word的導(dǎo)出功能.這篇文章主要介紹了nodejs 生成和導(dǎo)出 word的實(shí)例代碼,需要的朋友可以參考下
    2018-07-07
  • 詳解nodejs中express搭建權(quán)限管理系統(tǒng)

    詳解nodejs中express搭建權(quán)限管理系統(tǒng)

    本篇文章主要介紹了詳解express搭建權(quán)限管理系統(tǒng),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 詳解50行代碼,Node爬蟲(chóng)練手項(xiàng)目

    詳解50行代碼,Node爬蟲(chóng)練手項(xiàng)目

    這篇文章主要介紹了50行代碼,Node爬蟲(chóng)練手項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法

    node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法

    最近發(fā)現(xiàn)了node.js居然報(bào)錯(cuò)了,錯(cuò)誤提示為:Cannot find module 'ejs',后來(lái)找了找資料發(fā)現(xiàn)解決的方法其實(shí)很簡(jiǎn)單,下面通過(guò)這篇文章來(lái)一起看看吧,希望對(duì)同樣遇到這個(gè)問(wèn)題的朋友們能有所幫助。
    2016-12-12
  • Nodejs中的JWT和Session的使用

    Nodejs中的JWT和Session的使用

    這篇文章主要介紹了Nodejs中的JWT和Session的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Node.js+pm2+ssh2模塊實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)化部署腳本

    Node.js+pm2+ssh2模塊實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)化部署腳本

    本文將介紹如何使用Node.js和ssh2模塊實(shí)現(xiàn)一個(gè)簡(jiǎn)單的部署腳本,將本地的項(xiàng)目文件上傳到遠(yuǎn)程服務(wù)器上,我們將使用dotenv模塊來(lái)管理環(huán)境變量,以及child_process模塊來(lái)執(zhí)行命令行操作
    2023-10-10
  • express框架實(shí)現(xiàn)基于Websocket建立的簡(jiǎn)易聊天室

    express框架實(shí)現(xiàn)基于Websocket建立的簡(jiǎn)易聊天室

    本篇文章主要介紹了express框架實(shí)現(xiàn)基于Websocket建立的簡(jiǎn)易聊天室,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • NodeJs 包管理工具的使用

    NodeJs 包管理工具的使用

    本文主要介紹了NodeJs 包管理工具,主要包括npm,cnpm及yarn,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評(píng)論