我正在开发一个带有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的第一次体验,有人可以如此友好地解释为什么这不起作用吗?
答案 0 :(得分:0)
根据create-react-app中的文档,代理(作为package.json中的字符串)仅适用于非文本/ html请求。
Any unrecognized request without a text/html accept header will be redirected to the specified proxy.