0

私は、Apollo-Client と GraphQL を利用する React ボイラープレートに取り組んできました。webpack-dev-middlewareアプリケーションを実際にレンダリングするポート 3000 で Express サーバーを実行する 1 つのノード プロセスと、JavaScript バンドルのパッケージ化と提供に使用するポート 3001 で別の Express サーバーを実行するように、私のアプリは設定されています。

http://localhost:3001/static/jsではなくhttp://localhost:3000/static/js/bundle.js<script src="/static/js/bundle.js />でバンドルをリクエストしようとしていたため、を使用してバンドルをロードしようとすると 404 が返されました。 /bundle.js 。実際には によって提供されていました。webpack-dev-middleware

先頭にhttp://localhost:3001を追加しなくてwebpack-dev-middlewareも、アプリが JS バンドルにアクセスできるようにアプリ サーバーを構成する方法はありますか?/static/js/bundle.js

4

1 に答える 1

0

:3000/static/js/bundle.jsからへのリクエストをプロキシする必要が:3001/static/js/bundle.jsあります。これは、次のような方法で実行できます。

const request = require('request');
...
app.get('/static/js/bundle.js', (req, res) => {
  req.pipe(request.get('http://localhost:3001/static/js/bundle.js')).pipe(res);
});

このルートが開発中にのみ追加されることを確認しました。

于 2016-10-04T08:10:11.560 に答える