title: TypeError: object is not a function Node.js
body: <p>I'm doing the Node.js Essential Training on Lynda.com...</p>
  
  <p>Following the video but I get this error in the terminal.</p>
  
  <blockquote>
    <p>"TypeError: object is not a function"</p>
  </blockquote>
  
  <p>node_modules/flight/index.js</p>
  
  <pre><code>var count = 0,
      destinations = [];
  
  var Flight = function () {
          this.data = {
          number : null,
          origin: null,
          destination: null,
          departs: null,
          arrives: null,
          actualDepart: null,
          actualArrive: null
      };
  
      this.fill = function (info) {
              for(var prop in this.data) {
          if(this.data[prop] !== 'undefined') {
              this.data[prop] = info[prop];
          }
      }
      };
  
          this.triggerDepart = function () {
              this.data.actualDepart = Date.now();
          };
          this.triggerArrive = function () {
              this.data.actualArrive = Date.now();
          };
          this.getInformation = function () {
              return this.data;
          };
  };  
  
  exports.create = function (info) {
      var instance = new Flight();    
      instance.fill(info);
  
      count++;
      if(destinations.indexOf(info['destination']) &lt;0) {
          destinations.push(info['destination']);
      }
      return instance;
  };
  
  exports.getCount = function() {
      return count;
  };
  
  exports.getDestinations = function () {
      return destinations;
  };
  </code></pre>
  
  <p>routes/index.js</p>
  
  <pre><code>/*
   * GET home page.
   */
  
   var flight= require('../node_modules/flight');
   var flight1 = flight({
       number :1,
       origin: 'LAX',
       destination : 'DCA',
       departs: '9AM',
       arrives:'4PM'
   });
  
   var flight2 = flight({
       number : 2,
       origin: 'LAX',
       destination : 'PDX',
       departs: '10AM',
       arrives: '12PM'
   });
  
  exports.flight1 = function(req, res){
    res.json(flight1.getInformation());
  };
  
  exports.flight2 = function(req, res){
    res.json(flight2.getInformation());
  };
  </code></pre>
  
  <p>app.js</p>
  
  <pre><code>/**
   * Module dependencies.
   */
  
  var express = require('express');
  var routes = require('./routes');
  var http = require('http');
  var path = require('path');
  
  var app = express();
  
  // all environments
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
  
  // development only
  if ('development' === app.get('env')) {
    app.use(express.errorHandler());
  }
  
  app.get('/', routes.index);
  
  app.get('/flight1', routes.Flight1);
  
  app.get('/flight2', routes.Flight2);
  
  http.createServer(app).listen(app.get('port'), function(){
    console.log('Express server listening on port ' + app.get('port'));
  });
  </code></pre>
  
  <p>Not sure how to troubleshoot.</p>