2017-09-14 3 views
0

J'essaie de configurer une application de réaction rapide avec mongo db comme base de données. Je suis dans les étapes préliminaires et continue à venir à travers cette erreur:Continuez à obtenir cette erreur: Erreur: Route.post() nécessite des fonctions de rappel mais un [objet non défini]

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

ici est mon 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); 

mes itinéraires sont ici. Je suis juste en train de tester pour voir s'il y a une connexion correcte.

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


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



module.exports = authRoutes; 

mon contrôleur est ci-dessous:

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; 

ne sais pas si mongo est le problème, car il est la première fois à l'utiliser, mais fonctionne ma connexion à la base de données Robo 3t pour vérifier ce qui est dans la base de données et le schéma de l'utilisateur est là. Si je commente cette route dans la page Routes, les erreurs disparaissent.

+0

Puisqu'il s'agit d'une erreur simple parce que vous avez juste oublié d'importer quelque chose, n'hésitez pas à supprimer la question. –

Répondre

2

Je crois que le problème est ici:

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

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

Notez que authController est juste une chaîne. Je devine que vous avez prévu:

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

wow ..... quelle erreur stupide smh lol j'ai codé pendant tant d'heures. apprécie le point dehors! Je n'ai même pas remarqué que j'avais oublié le besoin. – jdip88