【问题标题】:Syncing Angular routes with predefined server side routes将 Angular 路由与预定义的服务器端路由同步
【发布时间】:2020-09-18 23:20:32
【问题描述】:

我对 Angular 相当陌生,过去几天我一直在学习,但我停滞不前。在我的节点 js 服务器上,我有这样的代码:

     app.get('/account/dashboard', (req, res) => {
        res.render('dashboard_angular'):
     }

当我访问路由时,浏览器 url 栏是这样的

       localhost:3000/account/dashboard

一秒钟后,角度路由器启动并将其更改为

       localhost:3000/#/

单击 url 栏并尝试从那里访问路由可能会引发 404 错误或将我带回主路由。请问有解决办法吗?所以我可以有这样的网址

        localhost:3000/account/dashboard/#/

在 react-router@3.1.0 中,即使使用节点 js 路由,路由也能正常工作,我试图在 Angular 中实现相同的目标 对不起我的写作,既不是英国人也不是美国人。

【问题讨论】:

  • 你将不得不修改 angular 的基本路径,并告诉 express 在 angular 处理路由时不要搞砸(例如,如果你这样做 /account/dashboard/angular-route)=> app.get('/account/dashboard/*',
  • 您应该研究更好的方式来提供 Angular 应用程序,而不是在服务器上保持所有应用程序路由的同步列表。这是容易出错且毫无意义的冗余。

标签: javascript node.js angular angular-router


【解决方案1】:

我发现了我的问题。我改了

    <base href="/" />

到我当前的服务器路由,就像

    <base href="/account/dashboard/" />

并且繁荣问题解决了,我的节点 js 服务器不再有 E404

【讨论】:

  • 但是这是固定路由,如果需要去/account/configuration怎么办?或其他路线,如 /admin/dashboard
  • @B.J. A.A 因为我使用节点 js 进行路由,所以 /account/dashboard (仪表板)下的任何内容都会将我带到我的角度应用程序的根索引,该基本路由之上的任何其他路由都会将我带到我的节点服务器内部的其他位置。所以在你的情况下,我会使用这条路线 /account/dashboard/configurations
猜你喜欢
  • 2018-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多