2017-03-19 34 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

相關問題