学习nodejs express后台有一段时间了,心里一直有一个疑问,在app.js里我们使用了很多中间件,比如:
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(session({
secret: settings.cookieSecret,
key: settings.db,//cookie name
cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days
resave: false,
saveUninitialized: true
}));
app.use(flash());
我们知道, 像上面use里没有指定某个挂载路径,参数实际上就是一个又一个的回调函数,所有请求都会通过这些中间件函数的“过滤”。 我的疑问是:比如我的某个请求是用来向数据库中添加一条记录的,根本用不到上面的flash, cookie中间件
- 像上面这样写还用不用经过这些函数的过滤?
- 如果需要,那么岂不是多此一举,会造成性能损耗吗?
- 有什么办法能够防止性能损耗?