Q: why index call cot coming to slash "/" route in nodejs when i call the server by calling 
http://localhost:3000
it display my index file but not coming to route get function 
why it is not coming to index.js file
i am stucked here 
this is my app.js file
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var http = require('http');

var index = require('./routes/index.js');
var users = require('./routes/users');
var debug = require('debug')('cf-internal:server');
var router = express.Router();
var app = express();

// view engine setup
//app.set('views', path.join(__dirname, 'views'));
//app.set('view engine', 'pug');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

app.use(express.static(path.join(__dirname, 'public')));

app.use('/', index);
app.use('/users', users);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});


app.use(function(err, req, res, next) {
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};


res.status(err.status || 500);
res.render('error');
});

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

var server = http.createServer(app);

server.listen(port);
 server.on('error', onError);
 server.on('listening', onListening);

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
// named pipe
return val;
 }

if (port >= 0) {
  // port number
  return port;
  }

  return false;
 }

  function onError(error) {
 if (error.syscall !== 'listen') {
  throw error;
  }

  var bind = typeof port === 'string'
   ? 'Pipe ' + port
: 'Port ' + port;

// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
  console.error(bind + ' requires elevated privileges');
  process.exit(1);
  break;
case 'EADDRINUSE':
  console.error(bind + ' is already in use');
  process.exit(1);
  break;
  default:
  throw error;
  }
 }

 /**
  * Event listener for HTTP server "listening" event.
  */

 function onListening() {
 var addr = server.address();
 var bind = typeof addr === 'string'
   ? 'pipe ' + addr
   : 'port ' + addr.port;
 console.log('Listening on ' + bind);
}

here is my router index.js file 
  var express = require('express');
  var path = require('path');
   var router = express.Router();

   /* GET home page.  this is not working */ 
   router.get('/', function(req, res,next) {
   console.log('shold b console here ');

    res.sendFile(path.join('public/'));

    });

 module.exports = router;


A: Hello you have to start listening instead of just http.createServer(app), 
var httpServer = http.createServer(opts, app).listen(app.get('port'), function () {
    console.log('Express server listening on port ' + httpServer.address().port);
});


A: i have done this using this 
 app.use(express.static(path.join(__dirname, 'public')));
   app.set('views',path.join(__dirname, 'views'));

here app.use is for css and js files (static files)
and app.set is for getting the index file 
and route method will be 
  router.get('/', function(req, res,next) {
console.log('here it should come');
res.sendFile(path.join(__dirname,'../views/index.html'));

});

