2015-09-30 130 views
0

我試圖創建一個使用mongojs的網站。 我試圖使用下面的代碼,但一旦我運行該網站,它永遠不會進入app.get()部件,並且該網站最終顯示500錯誤。 如何讓它響應app.get函數?node.js app.get()函數的問題

感謝您的幫助!

var express = require('express'); 
 
var cookieParser = require('cookie-parser'); 
 
var session = require('express-session'); 
 

 
require('node-monkey').start({host: "127.0.0.1", port:"50500"}); //TODO: Delete 
 

 
var app = express(); 
 
var mongojs = require('mongojs'); 
 
var db = mongojs('mongodb://localhost:27017/test', ['usersData']); 
 
var usersData = db.collection('usersData'); 
 

 
app.use(express.static(__dirname + '/views')); 
 
app.use(cookieParser()); 
 
app.use(session({ 
 
    secret: 'keys', 
 
    resave: true, 
 
    saveUninitialized: true 
 
})); 
 
app.get('/', function (req, res) { 
 
    console.log("here"); 
 
});

+0

那一行並在500拋出? – zero298

+0

它不會說,該網站試圖加載,然後我得到以下錯誤: iisnode處理請求時遇到錯誤。 HRESULT:0x2 HTTP狀態:500 HTTP原因:內部服務器錯誤 – Vera

回答

2

你必須要聽。只需添加下面一行:

app.listen(port); 
0

有幾個原因,可以在你的情況會導致500錯誤:

  • 確保您開始的mongod實例(終端)
  • 嘗試在執行var app = express()之前嘗試要求所有依賴關係(應該向上移動該行)
  • 主機URL,端口,身份驗證和數據庫名稱是否有效?
  • 您的app.js結構不完整。使用ExpressJS時,應用程序需要使用特定的骨架才能工作。

    // Dependencies 
    var express = require('express'); 
    var cookieParser = require('cookie-parser'); 
    var session = require('express-session'); 
    var mongojs = require('mongojs'); 
    // DB 
    var db = mongojs('mongodb://localhost:27017/test', ['usersData']); 
    var usersData = db.collection('usersData'); 
    // Start app 
    var app = express(); 
    app.configure(function() { 
        app.set('port', process.env.PORT || 3000); 
        app.set('views', __dirname + '/views'); 
        app.set('view engine', 'jade'); 
        app.use(express.static(__dirname + '/views')); 
        app.use(cookieParser()); 
        app.use(session({ 
         secret: 'keys', 
         resave: true, 
         saveUninitialized: true 
        })); 
        // etc... 
    }) 
    // Routes 
    app.get('/', function (req, res) { 
        console.log("here"); 
    }); 
    // App listen 
    app.listen(3000);