LoginSignup
6
4

More than 3 years have passed since last update.

TypeScriptなcreate-react-appで複数のプロキシを使いたいな

Last updated at Posted at 2020-08-19

なんでこれだと動くのかわからないけど動くので

きっかけ

Configuring the Proxy Manually

を参考に、ドメインは一緒だけど異なるポート番号を持つ各APIサーバーに接続したかった

公式どおりjsファイルを設置したけど動かないうえに、ググラビリティが低いのかまったく情報が出てこない

あれこれ試してたら動いてしまったのでメモ

/src/setupProxy.js の作成

公式どおりjsを作成

/src/setupProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
  app.use(
    '/api/hoge',
    createProxyMiddleware({
      target: 'http://localhost:5001',
      changeOrigin: true,
    })
  );
  app.use(
    '/api/fuga',
    createProxyMiddleware({
      target: 'http://localhost:5002',
      changeOrigin: true,
    })
  );
};

/src/setupProxy.ts の作成

中身一緒でtsファイルを作る

TypeScript的エラーが出たところは適当に直す

/src/setupProxy.ts
import { createProxyMiddleware } from 'http-proxy-middleware';
module.exports = function(app: any) {
  app.use(
    '/api/hoge',
    createProxyMiddleware({
      target: 'http://localhost:5001',
      changeOrigin: true,
    })
  );
  app.use(
    '/api/fuga',
    createProxyMiddleware({
      target: 'http://localhost:5002',
      changeOrigin: true,
    })
  );
};

完了

多分これで動くはず

jsファイルとtsファイルのどっちかだけだと動かないのでかなりはまった

後から思ったけどtsファイルのかわりに型定義ファイルを置けばいい話なんだろうか

ちょっと時間がなくて試してないので興味のある方はお試しください

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4