快递资源自定义映射

Nic*_*ite 2 node.js express

当使用app.resource时,我找不到包含任何深度的任何体面的文档.

我能找到的唯一信息是在当前文件中创建变量.这里

我目前的代码如下:

var favs = app.resource('favs', require('./modules/favs'));
favs.map('get', '/user', favs.buses);
Run Code Online (Sandbox Code Playgroud)

然而它回来说它是未定义的?

在我喜欢的模块中.

exports.buses = function (req, res) {
    res.render('favs/buses', {
        title: 'Bus Stops'
    });
});
Run Code Online (Sandbox Code Playgroud)

Lin*_*iel 5

您的语法错误favs.js:最后一个右括号)是多余的.

除此之外,您似乎将实际模块与您从中获取的资源对象混淆app.resource.您希望在访问者访问路径时(在您的情况下/favs/user)传递对要调用的请求处理程序的引用.所以你想要的是:

var favs = require('./modules/favs'),
    favsResource = app.resource('favs', favs);

favsResource.map('get', '/user', favs.buses);
Run Code Online (Sandbox Code Playgroud)

如果你觉得有点迷失express-resource,我鼓励你从普通快报开始,只有在你更熟悉快递的工作时才开始使用快递资源.TJ的辅助模块往往缺乏文档,只有在您习惯阅读代码IMO时才应该使用它们.