search

Home  >  Q&A  >  body text

node.js - app.get()不执行,麻烦谁指点以下。

这几天开始学node.js,纯新人。
我想访问localhost:3000/about,然后加了

app.get('/about', function (req, res) {
  console.log("about");
  res.send('hello');
}).listen(3000);

但是打开页面却是404.

用的是express 4.14,以下是app.js全部代码。

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

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('/', index);
app.use('/users', users);
// app.use('/about', about);

// 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 handler
app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});
  
**app.get('/about', function (req, res) {
  console.log("about");
  res.send('hello');
}).listen(3000);**

module.exports = app;
大家讲道理大家讲道理2787 days ago347

reply all(1)I'll reply

  • 阿神

    阿神2017-04-17 16:20:59

    You put the route after the error handling callback. That piece of code will not be executed at all. You need to put your route matching rules in front of the error handler. If no route is matched, the error handling code is reached.

    reply
    0
  • Cancelreply