nodejs路由刷新问题无法获取/

时间:2019-01-20 21:01:11

标签: node.js angular

我正在nodejs服务器上服务我的Angular 7项目,页面刷新时出现错误Cannot GET / profile。

我已经阅读到我需要添加此代码以允许服务器在刷新时加载溃败,并且它起作用了,但是另一个问题表明我的节点Post或Get rquests停止起作用,因为任何路由都将始终重定向到我的主域例如www.domain.com/api/profile将重定向到www.domain.com,并且不会触发请求功能。知道该怎么办吗?

注意:如果我删除以下代码,请求将起作用,但刷新问题将会出现。

 app.get('*', function (req, res){
   res.sendFile(path.join(__dirname+'/build/dist/index.html'));
 });

1 个答案:

答案 0 :(得分:3)

在我的所有路由请求(GET,POST等)之后添加此代码后解决。

// other routes defined before catch-all 
server.get('/some-route', (req, res) => {
  res.send('ok')
});

// final catch-all route to index.html defined last 
server.get('*', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});