我正在开发一个新项目,而对于baucis来说,node.js是新手。这是代码:

var name = 'order'
  , baucis = require('baucis')
  , controller = baucis.rest(name)
  , paths = config.paths;

controller.request(function (req, res, next) {
  if (req.isAuthenticated())
    return next();
  return res.send(401);
});

controller.documents(function (req, res, next) {
  if (typeof req.baucis.documents === 'number') return next();
  [...]
  next();
});


这是错误:

/Users/fil/[...]/order.js:31
controller.documents(function (req, res, next) {
           ^
TypeError: Object function router(req, res, next) {
    router.handle(req, res, next);
  } has no method 'documents'
    at Object.<anonymous> (/Users/fil/[...]/order.js:31:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at /Users/fil/[...]/app.js:29:5
    at Array.forEach (native)
    at Object.<anonymous> (/Users/fil/[...]/app.js:27:57)


是否知道发生这种情况的原因?

最佳答案

很难肯定地说100%,但是我猜您正在尝试将controller.documents方法与新版本的baucis一起使用,该版本不支持此中间件阶段。

如果是这样,请阅读有关在README.md文件中使用传出流转换的信息。

高温超导

关于node.js - Baucis-找不到路由器文档方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24057691/

10-11 07:18