2017-03-19 7 views
0

はので、私はこれが私のホストがなぜサブドメインが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から例です/ usersはうまく動作しますが、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

awesome!ありがとうございました – gyula

関連する問題