在create-react-app项目

时间:2017-11-09 06:50:57

标签: node.js reactjs express webpack create-react-app

我正在开发一个带有Express后端的简单项目,并使用create-react-app引导前端:

my-project
|- server.js         # backend entry point
|- client/
|--  package.json    # client package.json
|--  index.js        # client entry point

根据一些指南(like this),我现在在localhost:3001上有一个工作后端服务,在localhost:3000上有一个正在运行的前端服务。

/api/myapi所做的所有api调用都成功地通过代理服务器重定向到端口3001。在我的客户端package.json中:

"proxy": "http://localhost:3001/",

现在,一切正常,但我很难让登录工作。 实际上,当我访问/login网址时,我无法将用户重定向到登录页面。在我的server.js文件中:

app.get('/login', function(req, res) {
  res.send('This is the login page');
});

这根本不起作用,而网址/login却给了我一个空白页面(看起来它根本不在端口3001上)。

由于这是我对Express的第一次体验,有人可以如此友好地解释为什么这不起作用吗?

1 个答案:

答案 0 :(得分:0)

根据create-react-app中的文档,代理(作为package.json中的字符串)仅适用于非文本/ html请求。

Any unrecognized request without a text/html accept header will be redirected to the specified proxy.

尝试手动执行:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#configuring-the-proxy-manually