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.
