找不到404 NotFoundError:找不到JS和Express节点



我正试图访问我的路由/api和/api/超级英雄,但当我这样做时,我会遇到这个错误。

Not Found
404
NotFoundError: Not Found
at C:UsersmikaeDesktopProjectnode-express-swig-mongoapp.js:27:8
at Layer.handle [as handle_request] (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterlayer.js:95:5)
at trim_prefix (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:317:13)
at C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:284:7
at Function.process_params (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:335:12)
at next (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:275:10)
at C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:635:15
at next (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:260:14)
at Function.handle (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:174:3)
at router (C:UsersmikaeDesktopProjectnode-express-swig-mongonode_modulesexpresslibrouterindex.js:47:12)

app.js

var api = require('./routes/api.js');
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/api', api);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// 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;

api.js

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

router.get('/superheros', function(req, res) {
res.send('Just a test');
});
module.exports = router;

我正在学习一个教程,我已经从头开始看了,但我没有找到解决方案。我只想访问我创建的路线以继续上课。有人能帮我吗?我该怎么办?

您有一个拼写错误:它在api.js中显示/superheros(英雄,而不是英雄(。此外,在/api下,您正在装载一个Router实例,该实例只定义了一个路由:/superheros。您传递到的路由器中没有/路由:

app.use('/api', api);

因此,/api+/没有处理程序。

最新更新