我刚注意到例如app.use.apply(null, ['/', f => f]);
将抛出TypeError
TypeError: Cannot read property 'lazyrouter' of null
at use (node_modules/express/lib/application.js:214:7)
假设我的快速应用程序实例已正确设置,我做错了什么?我认为这是正确的诚意吗? app.use([path], cb)
http://expressjs.com/en/guide/using-middleware.html
答案 0 :(得分:1)
grid
会更改函数中的apply()
。对于this
app.use()
直接指向this
的实例,但是您设置了它到app
,并且null
上没有附加use
个函数属性,因此会出错。
答案 1 :(得分:1)
当函数作为对象的方法被调用时,如在app.use([path], cb)
中,在函数调用中,this
关键字被绑定到对象。 apply
的第一个参数是您要提供的this
绑定,因此您需要编写app.use.apply(app, ['/', f => f]);
。