node転送をどうやって利用しますか?


前言
この文章はvue、node(koa)に基づいています。
需要
vueプロジェクトの開発過程において、インターフェースはドメインをまたぐのが一般的な問題です。開発時にvueが持参するproxyで簡単に解決できます。生産環境では、フロントエンドプロジェクトはしばしばバックエンドプロジェクトに展開され、ドメインをまたぐ問題がない。インターフェースプレフィックスは無視できる。
dev環境下で、製品リストインターフェースをお願いします。

https://www.baidu.com/api/product/list
生産環境では、プレフィックスは無視できます。

/api/product/list
問題が来ました。もし現地で生産環境をテストしたいなら、先端項目には国境を越える問題があります。バックエンドに配置項目を送るのは面倒です。修正価格が大きすぎます。私達は自分で簡単なnodeサービスを手配して、自分の先端項目を配置します。
実現する
0.インストール依存

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は簡易サービスを構築する
koaを導入して、ポートを傍受します。

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}`);
});
オープンdist(つまりパッケージされたディレクトリ)

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

//     
app.use(koaMount('/', koaStatic(resolve('../dist'))));
これでほぼ完成しました。サービスをして3000ポートを開けて、プロジェクトは正常に訪問できます。

2.転送インターフェース要求
プロジェクトは正常に要求できますが、インターフェースの問題を処理する必要があります。つまり、nodeは中間部品として、フロントエンドインターフェースを転送して本物のバックエンドインターフェースに要求します。

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();
});
最後にブラウザを開けて確認します。成功しました。インターフェースの転送は成功しました。

完全コード
完全コード
締め括りをつける
ここで、node転送要求の文章を利用して紹介します。node転送要求の内容については、以前の文章を検索したり、下記の関連記事を引き続き閲覧してください。これからもよろしくお願いします。