【问题标题】:Angular 2 Routing Behaviour based on the domain基于域的Angular 2路由行为
【发布时间】:2017-07-11 06:58:07
【问题描述】:

我正在构建一个多级 CMS 并试图找出以下逻辑。

我将运行一个应用程序并有多个域指向它。它可以是带有客户端 ID 的绝对路径或相对路径,例如这些类型的域可以指向:

  1. www.wuhuuu.com(完整的 URL 指向)
  2. www.awesomeapp.com/yaboo(我们的网址 + /ClientID 3)
  3. bamboo.awesomeapp.com(指向我们的子域)

如何告诉我的 Angular 应用正在访问哪个域,以便我可以呈现特定视图?

我发现您可以通过 resetConfig 从数据库传递路由。

router.resetConfig([
 { path: 'team/:id', component: TeamCmp, children: [
   { path: 'simple', component: SimpleCmp },
   { path: 'user/:name', component: UserCmp }
 ] }
]);

【问题讨论】:

  • 如果我能理解这种情况,您的域是多个,Angular 应用程序是 1。 domain1 = angularapp's url + '/view1' 我对吗?
  • 我不确定我是否理解您的问题,但您可以在此处阅读官方文档中有关路由的信息:angular.io/guide/router
  • @GiliYaniv 谢谢,但如果文档写得更好,但没有我需要的东西,那就太好了。
  • @AakashUniyal 我将拥有多个域和 1 个应用程序 - 正确。
  • @ChrisTarasovs 你能再解释一下你想做什么吗?使用动态参数为您的应用定义路由?

标签: angular proxy routing content-management-system


【解决方案1】:

如果我正确理解您的问题,那么为您的 Angular 应用程序中的各个域创建多个路由以加载组件/模块,进而其视图就足够了。

示例: Angular 应用的 URL = "www.xyz.com"

您的 Angular 应用程序将具有以下路线:

{ path: 'domain1', component: Domain1Component, children: DOMAIN1_ROUTES }

{ path: 'domain2', component: Domain2Component, children: DOMAIN2_ROUTES }

{ path: 'domain3', component: Domain3Component, children: DOMAIN3_ROUTES }

{ path: 'domain4', component: Domain4Component, children: DOMAIN4_ROUTES }

您的域名将指向以下网址:

域在内部指向托管 Angular 应用程序的服务器

Domain 1 ----- > www.xyz.com/domain1

Domain 2 ----- > www.xyz.com/domain2

Domain 3 ----- > www.xyz.com/domain3

Domain 4 ----- > www.xyz.com/domain4

上面的实现基于组件以角度分离域,通过将它们分离为模块可以做得更好

如果这个答案还不够,请告诉我,我会编辑。

【讨论】:

  • 当存在一个具有多个不同 DNS 条目的单一路由指向应用程序时,这并不能解决问题,如 OPs 问题中所述,这是我正在寻求实现的目标,但上述内容并没有解决问题
猜你喜欢
  • 2017-08-10
  • 2017-07-07
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多