0
ノードのjsアプリケーションのコントローラフォルダ内にユーザコントローラを作成し、それを私のルートに含めると、このエラーメッセージが表示され続けています。突然それが決まっていないと判断したので、誤動作の原因となる可能性のあるものはすべて徹底的に調べました。ここルートにコントローラを必要とするエラー[nodejs]
はエラー
Error: Route.get() requires callback functions but got a [object Undefined]
であり、以下のファイルが
コントローラファイルが
// controller/user.js file
exports.login = function(req, res){
res.render('auth/login');
}
exports.register = function(req, res){
res.render('auth/register');
}
exports.reset = function(req, res){
res.render('auth/reset');
}
routesファイルが
を./config/routes.js ./controller/user.jsあります// routes.js
var user = require('../controllers/user');
var home = require('../controllers/home');
module.exports = function(app){
// user login
app.get('/app/login', user.login);
// user registration
app.get('/app/register', user.register);
// user password reset
app.get('/app/reset', user.reset);
}
app.js
// ./app.js
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const expressValidator = require('express-validator');
const app = express();
const PORT = 3000;
// const logger = function(req, res, next){
// console.log('Loggin');
// next();
// };
// app.use('logger')
// View Engine
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
// Body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
// Static path
app.use(express.static(path.join(__dirname, '/public')));
// Global Vars
app.use(function(req, res, next){
res.locals.errors = null;
next();
});
// Routes
require('./config/routes')(app);
app.listen(PORT, function(){
console.log('Server started on port ' + PORT);
});
アプリケーションでこの関数をどのように呼び出していますか?*** module.exports = function(app)***すなわちどこでどのように呼び出すのですか? – SKSpall
ここでapp.jsファイル内で呼び出されました // ./app.js 質問に追加 – blakroku