为什么';node.js上没有我的路由负载吗?

为什么';node.js上没有我的路由负载吗?,node.js,express,Node.js,Express,为什么我的Express node.js应用程序在导航到/搜索时不加载?我在正确的端口上,所以我很困惑它为什么不加载;它给出了一个404错误消息。我强调了下面有问题的部分 var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); // uncomment after placing your favicon

为什么我的Express node.js应用程序在导航到/搜索时不加载?我在正确的端口上,所以我很困惑它为什么不加载;它给出了一个404错误消息。我强调了下面有问题的部分

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

// catch 404 and forward to error handler
app.use(function(req, res, next) {
 var err = new Error('Not Found');
err.status = 404;
next(err);
});

 app.get('/', function(req, res) {res.render('index')});
 **app.get('/searching', function(req, res){
 res.send("WHEEE");
 });**

  // 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');
 });

 module.exports = app;
 app.listen(8020);
根据,在执行所有其他函数之后,您需要将404处理程序放在最底层

所以只要像这样向下移动你的函数

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.get('/', function(req, res) {
  res.render('index')
}); * * app.get('/searching', function(req, res) {
  res.send("WHEEE");
}); * *

// 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');
});

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

module.exports = app;
app.listen(8020);
最后还是第一位

app.get('/',函数(req,res){res.render('index')});
app.get('/search',函数(req,res){
res.send(“WHEEE”);
});
第二次捕获404并发送到错误处理程序

//捕获404并转发到错误处理程序
应用程序使用(功能(请求、恢复、下一步){
var err=新错误(“未找到”);
err.status=404;
下一个(错误);
});
和下面的处理程序错误

//错误处理程序
应用程序使用(功能(错误、请求、恢复、下一步){
//设置局部变量,仅提供开发中的错误
res.locals.message=err.message;
res.locals.error=req.app.get('env')='development'?err:{};
//呈现错误页面
资源状态(资源状态| | 500);
res.render(“错误”);
});
总代码:

var-app=express();
//查看引擎设置
app.set('views',path.join('views');
应用程序集(“查看引擎”、“翡翠”);
//将您的favicon置于/公共位置后取消注释
//应用程序使用(favicon(path.join(u dirname,'public','favicon.ico'));
应用程序使用(记录器(“开发”);
use(bodyParser.json());
use(bodyParser.urlencoded({extended:false}));
使用(cookieParser());
app.use(express.static(path.join(uu dirname,'public'));
应用程序使用(“/”,索引);
应用程序使用('/users',users);
//捕获404并转发到错误处理程序
应用程序使用(功能(请求、恢复、下一步){
var err=新错误(“未找到”);
err.status=404;
下一个(错误);
});
app.get('/',函数(req,res){res.render('index')});
app.get('/search',函数(req,res){
res.send(“WHEEE”);
});
//错误处理程序
应用程序使用(功能(错误、请求、恢复、下一步){
//设置局部变量,仅提供开发中的错误
res.locals.message=err.message;
res.locals.error=req.app.get('env')='development'?err:{};
//呈现错误页面
资源状态(资源状态| | 500);
res.render(“错误”);
});
module.exports=app;
app.listen(8020);

更仔细地格式化代码。那时会更清楚。