我一直在开发一个利用Apollo-Client和GraphQL的React样板。我的应用程序经过设置,一个节点进程在端口3000上运行Express服务器,该服务器实际呈现应用程序,另一个节点进程在端口3001上运行Express服务器,该服务器使用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?
发布于 2016-10-04 16:10:12
您需要将来自: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);
});您必须确保仅在开发过程中添加此路由。
https://stackoverflow.com/questions/39827408
复制相似问题