javascript - "Kan inte GET /" när man försöker ansluta till localhost:8080 i node.js


Jag arbetar med en backbone.js-applikation med node.js som backend-server. Applikationen är baserad på Twitter API. När jag gör en förfrågan till localhost:8080 får jag felet "Cannot GET /" i webbläsaren och jag vet inte vad problemet är. Min kod är som följer:

server.js

var express = require('express');
var app = express();

var Twit = require('twit')

var client = null;


function connectToTwitter(){
   client = new Twit({
      consumer_key:         'xxx'
    , consumer_secret:      'xxx'
    , access_token:         'xxx'
    , access_token_secret:  'xxx'
  });
}

//get the app to connect to twitter.
connectToTwitter();

var allowCrossDomain = function(req, response, next) {
response.header('Access-Control-Allow-Origin', "http://localhost");
response.header('Access-Control-Allow-Methods', 'OPTIONS, GET,PUT,POST,DELETE');
response.header('Access-Control-Allow-Headers', 'Content-Type');

if ('OPTIONS' == req.method) {
  response.send(200);
}
else {
  next();
}
};

app.configure(function() {
    app.use(allowCrossDomain);
  //Parses the JSON object given in the body request
    app.use(express.bodyParser());
});

//Start server
var port = 8080;
app.listen( port, function() {
  console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
});

Katalogstruktur i allmänhet:

C:\Users\eva\Desktop\twitter application\server\server.js 
                                        \client\index.html 
                                                \js

Kan någon berätta för mig varför detta fel uppstår?

Svar #1

Du behöver implementera vad servern måste svara på /-förfrågningar. Till exempel:

app.get('/', function(req, res, next) {
    res.send("Hello world");
});

Utan det vet inte express hur / ska hanteras.