Node.js子域不工作?
我不知道我在做什么错误,我正在尝试使用npm subdomain
从虚拟子域请求。 我按照指示https://github.com/edwardhotchkiss/subdomain
var subdomain = require('subdomain'); var express = require('express'); var app = express(); var http = require('http'); var server = http.createServer(app); app.use(subdomain({ base : 'localhost', removeWWW : true })); app.get('/subdomain/blog/', function(request, response) { response.end('BLOG.LOCALHOST: "/"'); }); app.get('/', function(request, response) { response.end('LOCALHOST: "/"'); });
并在我的电脑主机文件,我补充说
127.0.0.1 localhost 127.0.0.1 blog.localhost
当我路由到http://blog.localhost:3000/
我得到这个返回的LOCALHOST: "/"
而不是BLOG.LOCALHOST: "/"
我不知道为什么,我删除了我的快速路由器,我试图删除任何路由逻辑和东西,但我仍然得到这一点。 显然我做错了什么。 我错过了什么?
所以我看到他们将需要的子域传入app.use,然后是params。 如果我重新格式化他们的例子看起来更像你的代码:
app.use(require('subdomain')({base:'yourdomain.com'}));
请注意,它们不会将任何内容传递给require子域。 相反,他们传递的JS对象,其中包括基地后,他们closures的要求。
现在你的代码看起来像这样。
app.use(subdomain({base:'localhost',removeWWW:true}));
所以请尝试一下:
app.use(subdomain()({base:'localhost',removeWWW:true}));
或这个:
app.use(require('subdomain')({base:'localhost',removeWWW:true}));
让我知道这是否解决了你的问题。