1

Not Found

404

Error: Not Found
    at c:\Users\wf\WebstormProjects\nodeExpress\app.js:33:13
    at Layer.handle [as handle_request] (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:312:13)
    at c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:280:7
    at Function.process_params (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:330:12)
    at next (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:271:10)
    at c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:618:15
    at next (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:256:14)
    at Function.handle (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:176:3)
    at router (c:\Users\wf\WebstormProjects\nodeExpress\node_modules\express\lib\router\index.js:46:12)

router code: //about.js

var express = require('express');
var router = express.Router();

router.get('/about', function(req, res, next) {
    console.log("/about route");
    res.render('about', { title:'About',name:'Praveen' });
});

module.exports = router;

//app.js code

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 about = require('./routes/about');
//var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

// 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('/about', about);

//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;

enter code here

I'm getting above error if I try to access different route in my node application. Please help

2
  • 2
    What do you mean 'diferent'? A route that you didn't configure? Commented Jan 19, 2016 at 14:16
  • Where's your routes code? What route are you trying to access? Commented Jan 19, 2016 at 15:03

1 Answer 1

2

The issue here is that the route in the about file is actually being resolved as /about/about. If you try open that URL it should work fine.

This is because in app.js, you say 'forward all requests that start with /about to about.js', so in about.js all routes already start with /about: app.use('/about', about);

To fix this, simply update the route in about.js to:

router.get('/', function(req, res, next) {

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

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.