Node.js子域

Jam*_*mes 6 subdomain node.js express

我正在尝试让我的Node.js支持的站点在一个服务于多个域的实例上运行.我有我的主域名,example.com然后我有admin.example.com,api.example.com并且所有都有不同的路由等,我正在使用Express.

到目前为止,我已经为子域添加了两个A记录,并/var/vhosts在我的CentOS盒子中添加了两个条目.

127.0.0.1 api.example.com
127.0.0.1 admin.example.com
127.0.0.1 example.com
Run Code Online (Sandbox Code Playgroud)

我知道Express有一个express.vhost方法,所以我已经尝试过:

app.use(express.vhost('api.example.com', require('./lib/subdomains/api')))
app.use(express.vhost('admin.example.com', require('./lib/subdomains/admin')))
Run Code Online (Sandbox Code Playgroud)

但这仍然只适用于我下面导入的主要路线.我错过了什么?

Jam*_*mes 9

如果有其他人发现此问题,您可能需要检查您是否正确地传递了您的虚拟路由参数.

我用的是:

app.get('/', function(res, req) { /* Do stuff.. */ }
Run Code Online (Sandbox Code Playgroud)

什么时候应该.回调函数的第一个参数是req,然后是第二个参数res.

app.get('/', function(req, res) { /* Do stuff.. */ }
Run Code Online (Sandbox Code Playgroud)

努力学习你的代码:)

  • (res,req)是另一种方式:) (7认同)