2016-07-27 142 views
0

我在express 4中遇到了路由問題。我正在關注該示例,但未加載。我只是得到一個紡車。routing node.js和express

你如何做快遞版本4路由?

app.js:

var express = require('express'); 

var http = require('http'); 
var app = express(); 


app.set('views', __dirname + '/views'); 
app.set('view engine', 'ejs'); 


var port = (process.env.PORT || process.env.VCAP_APP_PORT || 5000); 

app.use('/birds', require('./controller/bird')); 

http.createServer(function (req, res) { 
    //res.writeHead(200, {'Content-Type': 'text/plain'}); 
    //res.end('Hello World!\n'); 
}).listen(port); 



console.log('Server running at http://127.0.0.1:'+port); 

bird.js:

var express = require('express'); 
var router = express.Router(); 

// middleware specific to this router 
router.use(function timeLog(req, res, next) { 
    console.log('Time: ', Date.now()); 
    next(); 
}); 
// define the home page route 
router.get('/', function(req, res) { 
    res.send('Birds home page'); 
}); 
// define the about route 
router.get('/about', function(req, res) { 
    res.send('About birds'); 
}); 

module.exports = router; 

回答

1

你不是調用app.listen()功能。而不是http.createServer之一,你應該調用Express功能。

請看看基本example

相關代碼:

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

編輯:slebetman在評論中寫道,因爲它更一般的方法是:

http.createServer(app).listen(port, function(){ 
    console.log('now listening on port ' + port); 
}); 
+0

或者他也可以叫'http.createServer(應用程序)。聽(端口)'。這種更通用的方法非常有用,因爲如果您需要支持https,您可以將它與'https.createServer(conf,app).listen(port)'一起使用 – slebetman