Ken*_*Ken 5 javascript routing node.js express
我是Express的新手,但我一直收到404错误,因为有些东西正在向'/ json/version'发出GET请求.它遍历第一个app.use('/')并添加会话数据,然后忽略两个路由器,然后触发404错误处理.有谁知道它可能来自哪里?它阻碍了我的项目,我非常沮丧.
我发现这里有同样问题的人,但没有什么是非常有用的(据我所知).这个应用程序的大部分是express-generator由我生成的,只有会话被我添加,但我找不到任何文档express-session,说这是预期的行为.以下是我的代码.
// Package requirements
let createError = require('http-errors'),
express = require('express'),
session = require('express-session'),
path = require('path'),
cookieParser = require('cookie-parser'),
logger = require('morgan');
// Local requirements
let indexRouter = require('./routes/index'),
usersRouter = require('./routes/users');
// App definition
let app = express();
// View engine setup (EJS)
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// Session data
app.use(session({
secret: 'Super Secret',
}));
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('/', (req, res, next) => {
req.session.id = 1;
next();
});
app.use('/', indexRouter);
app.use('/', usersRouter);
// Catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// Error handler
app.use(function(err, req, res) {
// 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');
});
// Specifies Node.js port
app.listen(3000, function() {
console.log('Listening on port 3000')
});
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |