我一直在研究一种利用Apollo-Client和GraphQL的React样板。我的应用程序已设置好,以便我有一个节点进程在端口3000上运行Express服务器实际呈现应用程序,另一个Express服务器在端口3001上使用webpack-dev-middleware
打包并提供我的JavaScript包。
我在尝试使用<script src="/static/js/bundle.js />
加载我的捆绑时收到了404,因为它试图在http://localhost:3000/static/js/bundle.js而不是http://localhost:3001/static/js/bundle.js请求捆绑,其中实际上是由{ webpack-dev-middleware
。
有没有办法配置webpack-dev-middleware
或我的应用服务器,以便我的应用可以从/static/js/bundle.js
访问JS捆绑包而无需在其前面添加http://localhost:3001?
答案 0 :(得分: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);
});
您已确保仅在开发期间添加此路线。