'Why this error coming while running Node.js server?
I am getting this error while running Node.js Server:
Error: Not Found
at C:\wamp\www\scope-leads-node-master\MyApp\app.js:30:13
at Layer.handle [as handle_request] (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:312:13)
at C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:280:7
at Function.process_params (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:330:12)
at next (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:271:10)
at C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:618:15
at next (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:256:14)
at Function.handle (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:176:3)
at router (C:\wamp\www\scope-leads-node-master\MyApp\node_modules\express\lib\router\index.js:46:12)
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 routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// 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.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
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);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
Solution 1:[1]
Finally, It's working. I am still seeing that not found error in http://localhost:3000. But everything is working fine. I have used another computer to do this. Just did the following.
npm install express
npm install
npm start
NodeJS, git server should have been installed in our machine.
Solution 2:[2]
Well it's an error you pass in the middleware you wrote (line 30):
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
this code just passes an error on every HTTP request, you should comment it out.
Solution 3:[3]
I also got the same error and found this thread while searching for an answer.
Here I'm sharing the way that you should tackle this error.
- First, comment out the lines which handle your 404 error.
app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); });
- Now reload your page and you will see something like
Cannot GET /(some route)
Understanding: The 404 or Not Found error message is the standard HTTP response code, to indicate that the client was able to communicate with a given server, but the server could not find what was requested. And it now says the missing resource is on the route "/(some route)".
Handling the error
If it's a web page, the problem is "/(some route)" cannot be found in the JS files in ~/routes/ directory. You may have forgotten to handle that route or can be a typo or something. Handle it appropriately.
If it's a resource, make sure the resource exists in the mentioned route of your project.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ahmed Nour Eldeen |
| Solution 2 | Rishikesh Chandra |
| Solution 3 | Ahmed Nour Eldeen |
