2017-04-02 98 views
1

我使用nodejs併爲api端點表示,我使用app.use來處理路由,但無論我做什麼,它都沒有響應。表示對路由沒有響應

var express = require("express"); 
var mongoose = require('mongoose'); 
var path = require("path"); 
var favicon = require("serve-favicon"); 
var http = require('http'); 

var app = express(); 

var config = require('./conf/config'); 

var PORT = config.PORT; 

mongoose.connect(config.MONGODB); 

//route handlers 

app.use('/', function(req, res) { 
    console.log("Hello"); 
}); 

var server = http.createServer(function(req, res) { 
    console.log("Request received", req.url); 
}); 

server.listen(PORT); 
console.log("Server running on port", PORT); 

應該在控制檯上打印打招呼時,我要求就根本途徑即/但它沒有做任何事情。

回答

2

您的快速代碼不正確。您正在創建一個簡單的Web服務器,但該Web服務器沒有以任何方式連接到Express。如果您不想創建任何特殊類型的服務器(如https服務器),那麼您可以讓Express使用app.listen(PORT)爲您創建服務器,然後它將創建一個服務器並將自己掛接到該服務器。

我建議這樣的:

var express = require("express"); 
var mongoose = require('mongoose'); 
var path = require("path"); 
var favicon = require("serve-favicon"); 

var app = express(); 

var config = require('./conf/config'); 
var PORT = config.PORT; 

mongoose.connect(config.MONGODB); 

//route handlers 

app.get('/', function(req, res) { 
    console.log("Hello"); 
    res.send("Hello"); 
}); 

app.listen(PORT); 
console.log("Server running on port", PORT); 

注:我改變了一些其他的一些東西。我切換到app.get(),並且我插入了一個res.send(),因爲您需要始終發送某種類型的瀏覽器響應,只需等待並等待返回的內容即可。

+0

哦,男人,你救了我,謝謝。 –

0

嘗試使用app.get而不是app.use。後者用於安裝子路徑,使用中間件等,但不用於實際配置請求處理程序。

+0

是的,我正在使用子路線方式,只是編輯粘貼在這裏。 –