CNode

在Express里使用中间件报错求教

RRicterZ发布于12 年前最后回复12 年前3 回复4655 浏览0 收藏

最近在基于Express开发一个RESTful的Blog,登录认证后检查req.headers里的authorization,验证其token。
打算利用中间件来进行每次验证。
完成中间件代码后,在app.js里添加代码app.use(auth);
然后在index.js里使用:

app.put('/articles/:id', auth, function(){
    //do someting
})

然后就报错:ReferenceError: auth is not defined
各种无解后来求教。。。

查看回复

回复 (3)

A
airyland#1·12 年前

第一,auth是否是已经require相应的中间件模块了 第二,已经用app.use()全局使用中间件了,为什么还要在特定路由中再使用该中间件

R
RicterZ#2·12 年前
引用 airyland第一,auth是否是已经require相应的中间件模块了 第二,已经用app.use()全局使用中间件了,为什么还要在特定路由中再使用该中间件

感谢回复。
原来app.use()是全局使用,难怪。
要实现部分路由使用需要在部分路由设置,是这个意思吧?:)

B
bsspirit#3·12 年前

auth没有定义,可以用passport库做认证的中间件,也可以自己写。

参与回复
登录后即可参与回复。登录