如何使用express.js的req.subdomains获取本地子域?

Here is my /etc/hosts file ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 127.0.0.1 test.localhost 127.0.0.1 demo.localhost 127.0.0.1 test2.localhost 255.255.255.255 broadcasthost ::1 localhost 

我所需要的就是能够从url中parsing出子域名,因为我必须将其存储在会话cookie中供会话使用(现在)。 我不是想做任何事情 – 比如现在设置apis或者任何东西。

Express的文档显示,有一个req.subdomains属性将子域列为数组,但是对于我所有的本地子域,此数组显示为空。 [即当我去demo.localhost:3000,Web应用程序肯定服务,但在第一个get函数,我打电话req.subdomains,并有一个空的数组[]。

我怎么能从我的本地主机:3000这些子域名string?

这是因为您的主机缺less顶级域名。 从Express代码 – 子域的偏移将默认为2,因为它期望像.com这样的东西,而不是主机以localhost结束。

你可以使用this.app.set('subdomain offset', 1); 作为本地运行configuration的一部分。