"Cannot GET /" with Connect on Node.js
I'm trying to start serving some static web pages using connect
like this:
var connect = require("connect");
var nowjs = require("now");
var io = require("socket.io");
var app = connect.createServer(
connect.static(__dirname + '/public')
);
app.listen(8180);
So I added a simple index.html
at the /public
directory on the same directory as the app.js
file is, but when I try to view the page on my browser I get this response from node:
Cannot GET /
What I'm doing wrong and how I can correct it?
You'll see the message Cannot GET /
if you don't specify which page it is that you're trying to get, in other words if your URL is something like http://localhost:8180
. Make sure you enter a page name, e.g. http://localhost:8180/index.html
.
You may be here because you're reading the Apress PRO AngularJS
book...
As is described in a comment to this question by KnarfaLingus
:
[START QUOTE]
The connect module has been reorganized. do:
npm install connect
and also
npm install serve-static
Afterward your server.js
can be written as:
var connect = require('connect');
var serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic('../angularjs'));
app.listen(5000);
[END QUOTE]
Although I do it, as the book suggests, in a more concise way like this:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(
serveStatic("../angularjs")
).listen(5000);
This code should work:
var connect = require("connect");
var app = connect.createServer().use(connect.static(__dirname + '/public'));
app.listen(8180);
Also in connect 2.0 .createServer() method deprecated. Use connect() instead.
var connect = require("connect");
var app = connect().use(connect.static(__dirname + '/public'));
app.listen(8180);
You might be needed to restart
the process if app.get
not
working. Press ctl+c
and then restart node app
.