【问题标题】:nodejs route refresh issue Cannot Get /nodejs路由刷新问题无法获取/
【发布时间】:2019-01-20 21:01:10
【问题描述】:

我在 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'));
 });

【问题讨论】:

  • 这个答案对你有帮助吗? stackoverflow.com/a/26638143/10747134
  • 是的,成功了!!谢谢,请作为答案发布
  • 实际上,我不确定是否应该将其发布为答案,或者是否应该将其称为重复项-抱歉,对于 SO 如何与此一起使用仍然是新手。
  • 哈哈没关系,我的问题是,我在获取请求之前调用了上面的代码,这就是为什么它不起作用,现在在我的所有 ReseAPI 请求之后添加它之后它工作正常。谢谢

标签: node.js angular


【解决方案1】:

在我的所有路由请求(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');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2016-10-28
    相关资源
    最近更新 更多