2017-03-19 14 views
0

所以我用它在本地试验,这是我的hosts文件为什么子域名无法与express.js一起使用?

127.0.0.1  example.dev 
127.0.0.1  www.example.dev 
127.0.0.1  api.example.dev 

,这是我的代码:

var subdomain = require('express-subdomain'); 
var express = require('express'); 
var app = express(); 
var router = express.Router(); 

// example.com 
app.get('/', function(req, res) { 
    res.send('Homepage'); 
}); 

//api specific routes 
router.get('/', function(req, res) { 
    res.send('Welcome to our API!'); 
}); 

router.get('/users', function(req, res) { 
    res.json([ 
     { name: "Brian" } 
    ]); 
}); 

app.use(subdomain('api', router)); 
app.listen(3000); 

它基本上是从包装的网站 api.example.dev的例子/用户运行良好,但是当我去api.example.dev内容是一样的example.dev(就像它被覆盖) 任何想法我做错了什么? 谢谢

回答

0

这是请求处理问题的顺序。移动子域后主域的请求处理程序声明:

var subdomain = require('express-subdomain'); 
var express = require('express'); 
var app = express(); 
var router = express.Router(); 

//api specific routes 
router.get('/', function(req, res) { 
    res.send('Welcome to our API!'); 
}); 

router.get('/users', function(req, res) { 
    res.json([ 
     { name: "Brian" } 
    ]); 
}); 

app.use(subdomain('api', router)); 

// example.com 
app.get('/', function(req, res) { 
    res.send('Homepage'); 
}); 

app.listen(3000); 
+0

太棒了!谢谢 – gyula

相关问题