使用expressjs和对象构造函数路由错误
Routing errors with expressjs and object constructors
我用express和nodejs创建了一个API REST,我在路由的早期阶段。
我的想法是为每条路由创建"控制器",并在路由器文件中调用该控制器,如:
...
router.post('/login', loginCtrl.login(req, res));
在其他项目中,我用一个简单的函数对象来处理它,需要它,然后只是调用该函数。现在我的想法是更有趣的,我正在使用对象构造函数,如:
var ctrl = function() {
this.login = function(req, res) {
res.json({ msg: 'hello' }); // just an example
}
}
我在coffeescript上写这个(客户想要咖啡,所以…),sintax是用元语言,但至少是相同的,我的问题是req
和res
,这是我的路由器文件:
express = require 'express'
router = express.Router()
###
Rutas de autenticación
###
AuthController = require '../controllers/authenticate'
auth = new AuthController()
router.post '/setup' , auth.setup req, res
router.post '/register', auth.register req, res
router.post '/login' , auth.login req, res
module.exports = router
当服务器运行时,它抛出这个错误:
/home/nano/Dev/erp-api/app/routes/apiroutes.coffee:17
router.post('/setup', auth.setup(req, res));
^
ReferenceError: req is not defined
为什么会这样?我不知道,它工作时,我与普通对象
就像您所做的那样,您正在使用变量调用函数设置,而您想要的是将引用传递给函数。所以你必须把引用传递给它,而不是执行它。
router.post '/setup' , auth.setup
req, res将自动传递给该函数
相关文章:
- Angular2路由错误/缺少组件
- Rails4:资产管道(javascripts)路由错误
- 404 Angularjs TemplateUrl路由错误
- Yii 2路由错误
- 大视频.js在 Rails 路由错误中
- 使用 jQuery 的 angularjs 应用程序中的路由错误
- 无法获取/路由错误
- html5mode 中的 AngularJS 路由错误
- 路由错误:错误:发送标头后无法设置标头
- 角度 2 页面路由错误
- 使用正斜杠加载页面时出现主干路由错误
- 服务器在ajax调用上返回空响应可能是路由错误
- Ember.js转换渲染错误或路由错误
- angular.js和express的路由错误
- Angular.js 404路由错误
- expressjs中的路由错误
- 灵活和Navlink路由错误
- 使用expressjs和对象构造函数路由错误
- AngularJS中的路由错误
- 删除的AJAX路由错误.为什么索引页出现DELETE路由错误