我知道当有人在谈论我的问题时有一个帖子,我不知道我做错了还是我有一个不同的问题,这是Stackoverflow Post我认为不是愚蠢的,请在将其标记为重复的问题之前,我会解释一下我做错了什么。1
首先,当我在root上加载网站时,一切正常,然后我点击Link
重定向到例如Login
一切正常,但刷新页面时返回简单{{1没有样式且没有控制台错误
基本上,我有React for Front-end和Node for Back-end(只是一个API),项目文件夹结构很简单
404 Not Found
在服务器上(DigitalOcean - Ubuntu 16),我有以下配置的nginx
/ (root where Node Api lives)
/client (where React lives)
/someFoldersForNode (libs, models, dbConfig)
}
这是我的server {
listen 80;
server_name SERVERIP;
location / {
proxy_pass http://SERVERIP:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
:
App.js
我在<Router>
<div>
<Header />
<Switch>
<Route exact path={"/Login"} component={Login} />
<Route exact path={"/Register"} component={Register} />
<Route component={NotFound} />
</Switch>
<Footer />
</div>
</Router>
上尝试了这个:
server.js
但是当React向正在侦听端口:4000的API发出http请求时,它被重定向到我的app.get("/*", function(req, res) {
res.sendFile(path.join(__dirname, "client/build/index.html"), function(err) {
if (err) {
res.status(500).send(err);
}
});
});
并且显然会返回错误,因为每次API获取http请求时都会尝试重定向。 / p>
我读到了同构,但我需要解决“快速”和“在服务器端渲染”这可能是我现在无法做出的选择,或者我愚蠢地理解这台ATM。