如何处理 Angular 2(路由器 3)中的租户子域

How to handle tenant subdomains in Angular 2 (router 3)

正在尝试在 Angular 2(RC6,路由器 3.0)中进行 tenant.app.com 设置

是否有关于如何执行此操作的文档?我见过的几乎所有内容都以基数 url = / 开头,然后从基数 url.

解析 url

我需要为非登录用户提供 www 版本,然后为所有登录用户提供租户驱动的子域

我想我有一个行之有效的方法。 getSubdomain() 允许我在 NgInit() 上查询 app.component.ts 中的子域,我可以使用它来针对绑定到子域 tenant_id 的用户登录范围

getSubdomain() {
  const domain = window.location.hostname;
  if (domain.indexOf('.') < 0 || 
    domain.split('.')[0] === 'example' || domain.split('.')[0] === 'lvh' || domain.split('.')[0] === 'www') {
    this.subdomain = '';
  } else {
    this.subdomain = domain.split('.')[0];
  }
  console.log('subdomain', this.subdomain);
}