0
votes

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;
3
may be the app.js is not found in the "C:\wamp\www\scope-leads-node-master\MyApp\" path.Check whether it is present there or notSubham
Thanks Subham , app.js is there. But i does not working.Ramesh T
Can you please share your app.js ? There seem to be some issue in that.Abie
@robertklep - done! Thanks for suggestion!Abie
How to share my code here? no idea about itRamesh T

3 Answers

4
votes

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.

2
votes

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.

1
votes

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.

  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);  });
  1. Now reload your page and you will see something like

Cannot GET /(some route)

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

  2. 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.