2017-01-09 5 views
0

Это мой index.js файл в моем ./home каталоге:Я получаю сообщение об ошибке при попытке импортировать запрос на получение из модуля контроллера в основное приложение. (Тип-ошибка: Не удается прочитать правильное 'получить' неопределенных)

var express = require('express'); 
var control = require('./controllers/todoController'); 
var app = express(); 

//set up template engine 

app.set('view engine', 'ejs'); 

//static files 
app.use(express.static('./public')); 

//fire controllers 

control(); 

//listen to port 
app.listen(3000); 
console.log('You are listening to port 3000'); 

Это мой todoController.js файл в моем ./home/controllers каталоге:

module.exports =function(app){ 
    app.get('/quiz', function(req, res){ 
    res.render('quiz'); 
}); 
}; 

Показанная ошибка:

TypeError : cannot read property 'get' of undefined 

ответ

0

Используйте модуль маршрутизатора из expressjs

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

 
/* GET home page. */ 
 
router.get('/', function(req, res, next) { 
 
    var token = req.body.token('token'); 
 
    if(!token) 
 
    { 
 
     res.render('error', { 
 
      'message': "You must indicate a Token" 
 
     }); 
 
    } 
 
    
 
}); 
 

 
module.exports = router;

Тогда просто импортировать его в приложение. js основной файл:

app.use('/', tokenHandler); 
0

Вы должны указать свой app в controller в качестве параметра

Попробуйте это в вашем index.js файле

//fire controllers 

control(app);