这是我第一个关于堆栈溢出的问题,所以请善待!Angular2和Symfony合并在同一个应用程序
我设计了一个基于Symfony服务器的应用程序,它具有几乎完整的后端接口。使用symfony路由器,我可以使用url(例如www.domain.com/admin)在后端登录并查看后端页面。
基于这个后端,我想创建一个Angular2应用程序来处理前端。让它为首页网址(www.domain.com)工作是非常直接的。但是,如果我使用任何可能在Angular2应用程序(例如www.domain.com/inner-page)中工作的子路由,Symfony路由器会接管并引发404 Not Found - NotFoundHttpException。
问题是,我如何在“并行”中使用两台路由器? www.domain.com/admin下的任何URL都将由Symfony路由器处理,并由Angular2路由器处理任何其他网址?
编辑
谢谢您的回复!
我有一些想法。它可能不够高雅,因为它需要手动排除来自symfony的角度路线,反之亦然,但它看起来更干净。我仍然工作在它的,所以它仍然是一个理论概念:
包含“/管理/”每个URL,Symfony的路由器将成为后端树枝,PHP页面,因为它是专门用来做。不过,对于任何其他网址,一个简单的控制器将只提供角度应用程序。
另一方面,在前端,角路由器将正常工作。但是,如果url包含“/ admin /”,它将由一个Angular组件处理,该组件将在其OnInit函数内简单地更改window.location.href,以重定向到Symfony后端。
欢迎来到Stack Overflow!请编辑你的问题,所以我们知道发生了什么。发布产生问题所需的最小代码量。 – Ares