2017-09-14 39 views
0

我想設置一個反應表示應用程序與mongo數據庫作爲數據庫。我在初級階段和整個這個錯誤滾滾而來:不斷收到此錯誤:錯誤:Route.post()需要回調函數,但得到[對象未定義]

Error: Route.post() requires callback functions but got a [object Undefined] 

這裏是我的app.js

const express = require('express'); 
// const http = require('http'); 
const bodyParser = require('body-parser'); 
const morgan = require('morgan'); 
const app = express(); 
const mongoose = require('mongoose'); 

mongoose.Promise = global.Promise; 


//db and name is auth 

mongoose.connect('mongodb://localhost/auth', { 
    useMongoClient: true, 
    /* other options */ 
    }); 
// app setup 

//server setup 

const port = process.env.Port || 4000 
// const server = http.createServer(app); 
app.listen(port); 
console.log(`Sever listening on ${port}`) 

const authRoutes = require('./routes/auth_routes'); 
app.use('/',authRoutes); 

我的路線是正確的位置。我只是測試,看看是否有正確的連接。

const authController = '../controllers/auth_controller'; 
const express = require('express'); 
const authRoutes = express.Router(); 


    authRoutes.post('/',authController.signup) 



module.exports = authRoutes; 

我的控制器如下:

const authController = {}; 

authController.signup = function(req,res,next) { 
    console.log('here'); 
    res.json({ 
     user: "doesnt matter", 
     data: 'Put a user profile on this route' 
     }); 
} 

module.exports = authController; 

不知道蒙戈的問題,因爲這是我第一次使用它,但我的數據庫連接工程ROBO 3T到檢查什麼的數據庫和用戶架構在那裏。如果我在路線頁面註釋掉一條路線,錯誤就會消失。

+0

由於這是一個簡單的錯誤,因爲你只是忘記了導入的東西,隨時刪除問題。 –

回答

2

我相信這個問題是在這裏:

const authController = '../controllers/auth_controller'; 

authRoutes.post('/',authController.signup) 

注意authController只是一個字符串。我猜你打算:

const authController = require('../controllers/auth_controller'); 
+0

哇.....多麼愚蠢的錯誤smh哈哈我已經編了這麼多個小時。感謝指出!我甚至沒有注意到我忘記了這個要求。 – jdip88

相關問題