Hello,
I'm trying out the router setup described in Chapters 21 - 25
and I'm getting the following error when running 'nodejs app':
nodejs app
/home/ubuntu/bp3/routes/index.
js:8
app.get('/', function(req, res) {
^
TypeError: Cannot call method 'get' of undefined
at /home/ubuntu/bp3/routes/index.
js:8:9
at Object.<anonymous> (/home/ubuntu/bp3/app.
js:15:26)
at Module._compile (module.
js:446:26)
at Object..
js (module.
js:464:10)
at Module.load (module.
js:353:32)
at Function._load (module.
js:311:12)
at Array.0 (module.
js:484:10)
at EventEmitter._tickCallback (node.
js:190:39)
My app.
js and index.
js files are included below.
app.
js
====
/**
* Module dependencies.
*/
var dbURL = 'mongodb://localhost/database';
var db = require('mongoose').connect(dbURL);
var express = require('express');
require('./routes/index')(app);
require('./routes/users')(app);
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', routes.index);
// app.get('/users:user', routes.users);
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port,
app.settings.env);
});
routes/index.
js
==========
/*
*GET Home Page
*/
module.exports = function(app) {
app.get('/', function(req, res) {
res.render('index', {title: 'Express'})
});
};
Will appreciate your insight on why the above error is being encountered. Thanks!