1

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;
10
  • 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 not Commented Aug 11, 2015 at 10:55
  • Thanks Subham , app.js is there. But i does not working. Commented Aug 11, 2015 at 11:54
  • Can you please share your app.js ? There seem to be some issue in that. Commented Aug 11, 2015 at 12:05
  • @robertklep - done! Thanks for suggestion! Commented Aug 11, 2015 at 12:05
  • How to share my code here? no idea about it Commented Aug 11, 2015 at 12:07

4 Answers 4

6

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.

Sign up to request clarification or add additional context in comments.

8 Comments

I made that, But now getting this --> Cannot GET /
actualy, I see you did add app.use('/', routes); but what is in th file './routes/index' ?
well there is no route defined for / in that file. you should add a route or check one of the existing ons
Okay. i just start app using the following npm install express -> npm start . is this okay, or am I done anything wrong?
You should start it with node app.js (or the main js file name)
|
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 have been installed in our machine.

Comments

2

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.

Comments

0

To captures all unmatched/invalid routes in an express app, providing a JSON error message saying that the requested path or route was not found and respond with a 404 status.

next(err); Instead of continuing the process respond saying invalid route.

// Catch all invalid routes and respond with a 404 error
app.use("/*", (req, res) => {
  const error = new Error("Invalid path or route not found");
  res.status(404).json({ error: error.message, stack: error });
});

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.