我正在建立一项服务,其他公司可以在companyname.mydomain.com
举办社区活动。我有一个名为company
的Redux减速器,它拥有该公司的某些状态。我希望能够根据所请求的子域同构地获取有关该公司的数据。
如果我有一个功能getSubdomain
:
function getSubdomain(host) {
const hostWithoutPort = host.split(':')[0];
return hostWithoutPort.split('.').slice(0, -2).join('.');
}
然后在客户端上我会通过以下方式获得子域:
const subdomain = getSubdomain(window.location.host);
在服务器上,由于窗口不可用且每个请求的主机不同,我会这样做:
const subdomain = getSubdomain(request.headers.host);
根据此子域正确同构获取公司数据的正确策略是什么?我想也许我可以使用状态中设置的子域来初始化我的商店?