请教!!!! 在express框架,router中定义的方法问题
发布于 3个月前 作者 Galen-Yip 352 次浏览 来自 问答

核心网络—《Node.js开发指南》MicroBlog项目的问题汇总.png

在routers中定义了登陆和未登录的中间件方法,我想给自身用 就有了 router.get('/login’, checkNotLogin);
这句

但是会提示 checkNotLogin 请求该什么解决

注: 我需要暴露给app.js用

4 回复

提示 checkNotLogin 未定义?

24 行 会找名为 checkNotLogin 的 function,但是你上面的 router.checkNotLogin 是router 的一个方法,这样是找不到的。

可以把上面的函数定义改为 var checkNotLogin = function(){} 或者把下面的改为 router.get('/login’, router.checkNotLogin)

想要暴露给 app.js 使用,还需要 module.exports = router 并且在 app.js 里 app.use(router)

我不知道我想得对不对! 我想说 亲 请按照CommonJs规范来!

@nikohe 我后面是有module.exports = router的, 我就是想在app.js中 作为个中间件,给其他的路径去判断是否登陆。 所以我在这个router中用了 router.xxx 。 刚刚我试了下,改为 router.get('/login’, router.checkNotLogin) 确实行了。
谢谢

楼主的问题正好帮我解惑了,非常感谢。

回到顶部