Node.js 如何使用express.js';s请求子域?

Node.js 如何使用express.js';s请求子域?,node.js,express,Node.js,Express,我所需要的就是能够从url解析出子域,因为我必须将它存储在会话cookie中以供会话使用(目前)。我现在不想做任何花哨的事情,比如设置API或其他任何事情 Express的文档显示,有一个req.subdomains属性将子域列为一个数组,但对于我的所有本地子域,该数组显示为空。[也就是说,当我转到demo.localhost:3000时,肯定会提供web应用程序,但在第一个get函数中,我调用req.subdomains,并且有一个空数组[] 如何从我的localhost:3000获取这些子域

我所需要的就是能够从url解析出子域,因为我必须将它存储在会话cookie中以供会话使用(目前)。我现在不想做任何花哨的事情,比如设置API或其他任何事情

Express的文档显示,有一个req.subdomains属性将子域列为一个数组,但对于我的所有本地子域,该数组显示为空。[也就是说,当我转到demo.localhost:3000时,肯定会提供web应用程序,但在第一个get函数中,我调用req.subdomains,并且有一个空数组[]


如何从我的localhost:3000获取这些子域字符串?

这是因为您的主机缺少TLD。--子域偏移量将默认为2,因为它需要类似于
.com
的值,而不是主机以
localhost
结尾


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

非常感谢您的快速而具体的响应。我加入了这一行,现在我完全可以在本地机器上进行测试。当然,我将不得不删除这一行进行生产,但这对于我需要做的事情来说是一个很小的代价。您可以在不改变的情况下解决它通过插入一个额外的子域(如demo.foo.localhost)来初始化代码
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