Why this error coming while running nodejs server?

Ramesh T Source

I am getting this error while running nodejs 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;


node.js

Answers

answered 3 years ago MoLow #1

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.

answered 3 years ago Ramesh T #2

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 haven been installed in our machine.

answered 2 years ago Thilina Ashen Gamage #3

I also got the same error and found this thread while searching an answer.

Here I'm sharing the way that you should tackle this error.

1) 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);
// });

2) Now reload your page and you will see something like

Cannot GET /(some route)

3) 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)".

4) 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.

comments powered by Disqus