我正在开发一个带有 Express 后端的简单项目和一个用create-react-app
引导的前端:
my-project
|- server.js # backend entry point
|- client/
|-- package.json # client package.json
|-- index.js # client entry point
按照一些指南(像这样),我现在在localhost:3001
上有一个工作后端服务,在localhost:3000
上有一个工作前端服务。
对/api/myapi
的所有 api 调用都成功地使用代理服务器重定向到端口 3001。在我的客户端 package.json:
"proxy": "http://localhost:3001/",
现在,一切正常,但我很难使登录工作。实际上,当他访问/login
url 时,我无法将用户重定向到登录页面。在我的server.js
文件中:
app.get('/login', function(req, res) {
res.send('This is the login page');
});
这根本不起作用,而 url /login
给了我一个空白页面(它看起来根本不在端口 3001 上)。
既然这是我第一次体验 Express,那么有人可以这么好解释为什么这不起作用吗?
1 回答
根据 create-react-app 中的文档,代理(作为 package.json 中的字符串)仅适用于非 text/html 请求。
尝试手动完成:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#configuring-the-proxy-manually