2017-10-17 8 views
1

webpack dev serverを使用して、私のアプリケーションを除くすべてのものをサーバに代理するプロキシを持っていたいと思います。webpack dev serverを使って、 "/ app"以外のすべてをプロキシする方法 "/ app/api"を含む

  • /myapp/api/**はどの
  • /**

をプロキシする必要があります(

  • /myapp/**がプロキシされるべきではないプロキシする必要があります。私のアプリの下でエンドポイントを持っているAPIは、プロキシされるべきであることを除き、次のセットアップではバイパス機能を使用してこれを行いますが、単一のコンテキスト仕様を使用して宣言的に行うことはできますか?

    proxy: [{ context: '/', bypass: function (req, res, options) { if (req.url.startsWith("/app") && !req.url.startsWith("/app/api")) { // console.log ("no proxy for local stuff"); return false;
    } //console.log ("Proxy!") }, ... }]

    はい、複雑です。ごめんなさい。

  • 答えて

    2

    https://webpack.js.org/configuration/dev-server/#devserver-proxyによると、webpack dev-serverはhttp-proxy-middlewareを使用し、そのドキュメント(https://github.com/chimurai/http-proxy-middleware#context-matching)では除外を使用できます。

    これはあなたの場合に有効です。私はそれを試していないので、私は優先順位についてもわからない。

    proxy: [{ 
        context: ['**', '/myapp/api/**', '!/myapp/**'] 
        ... 
    }] 
    
    関連する問題