为什么在cnode 的项目 app.js里面用app.use(auth.authUser); 前面不用加路径 authUser 还能执行吗
默认路径是 / Since path defaults to “/”, middleware mounted without a path will be executed for every request to the app
@jiangli373 但是我自己用的时候不行,中间件不执行,要加路径‘/’才行,这是怎么回事呢?
最近自己折腾论坛,啃cnode中、、、
@liangweidong 方便放下代码吗
@jiangli373 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 mongoose = require(‘mongoose’); var config = require(’./config’); var session = require(‘express-session’); var auth = require(’./middlewares/auth’);
var webRouter = require(’./web_router’);
var app = express();
app.use(session({ resave:false, saveUninitialized: true, secret: “liangweidong”, admin_id:"" }));
mongoose.connect(config.db.mongodb,config.db.database,config.db.port);
// view engine setup app.set(‘views’, path.join(__dirname, ‘views’)); app.set(‘view engine’, ‘html’); app.engine(‘html’, require(‘ejs-mate’)); app.locals._layoutFile = ‘layout.html’; //app.enable(‘trust proxy’);
// 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(auth.authUser);
app.use(’/’, webRouter);
app.locals.title=config.f2web_name;
//app.locals.staticUrl = config.staticUrl;
// 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 handlers
// development error handler // will print stacktrace if (app.get(‘env’) === ‘development’) { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render(‘error’, { message: err.message, error: err }); }); }
// production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render(‘error’, { message: err.message, error: {} }); });
module.exports = app;
@liangweidong 这个看起来没什么问题 我也是这样子写的 没有问题