这几天开始学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;
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.