node.js express-resource自动加载不起作用

时间:2014-01-14 06:41:15

标签: node.js express autoload autoloader express-resource

有没有人设法让快速资源的自动加载功能起作用?我无法解决它,但根据文档它应该工作: express-resource

我试过让它在我自己的代码和express-resource provided here中的示例代码中工作。我只是在论坛资源的“加载”功能中添加“console.log”语句,但似乎永远不会被调用。代码如下:

exports.load = function(id, fn){
  console.log('auto-loader');
  process.nextTick(function(){
    console.log('auto-loader in the callback');
    fn(null, { title: 'Ferrets' });
  });
};

然后在“controller.js”中,代码​​与example here

中的完全相同
var forums = app.resource('forums', require('./controllers/forum'));

我希望得到这个工作的原因是我希望有一个能够为特定路由集加载一些数据的一揽子功能,而不是将它作为中间件单独添加到每个路由中。例如。我在我的网站上有“列表”,我想要一个功能来检索最近的前10个列表。

任何想法都会非常感激我昨晚花了很多时间,并且总结说代码可能根本不起作用。我真诚地希望我错了,并希望能够通过你们中的一个聪明的饼干来纠正,因为如果我不必选择不同的路由模块,我真的很喜欢它!

或者,如果您的路由模块适用于您知道具有自动加载功能的快递,那么还请告诉我吗?

1 个答案:

答案 0 :(得分:0)

好吧,如果有其他人碰到这个 - 我发现我错了,确实发生了火灾,但有时只是!!

问题是它不会在所有路由上触发。到目前为止,我已经测试过index,new,show和edit。它会激活显示和编辑,但不会触发索引或新建。

我不确定这是否是故意的,并且如果有人能阐明为什么它会像这样行为,那就很喜欢它?

我还在作者的github网站上留下了一个非常相似的问题的评论:load function doesn't add to req object on index route