所以我在本地试验它,这是我的主机文件
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 :(得分: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);