Javascript Node.js&;Express.js/Jade res.render返回res.render不是函数

Javascript Node.js&;Express.js/Jade res.render返回res.render不是函数,javascript,node.js,express,Javascript,Node.js,Express,到目前为止,我还没有找到这个错误的答案,我想知道这是否与Express的版本4有关 controller.js var request = require('request'); var apiOptions = { server : "http://localhost:3000" }; if(process.env.NODE_ENV === 'production') { apiOptions.server = "https://heroku_path"; } modu

到目前为止,我还没有找到这个错误的答案,我想知道这是否与Express的版本4有关

controller.js

var request = require('request');

var apiOptions = {
    server : "http://localhost:3000"
};
if(process.env.NODE_ENV === 'production') {
    apiOptions.server = "https://heroku_path";
}



module.exports.homelist = function(req, res) {
    var requestOptions, path;
    path = '/api/locations';
    requestOptions = {
        url: apiOptions.server + path,
        method: "GET",
        json: {},
        qs : {
            lng : -117.929835,
            lat : 33.614675,
            max : 30000
        }
    };
    request(requestOptions, function(err, res, body) {
        renderHomepage(req, res, body);
});    

var renderHomepage = function(req, res, body) {
    res.render('jade-template', {
        title: 'I'm a main title',
        pageHeader: {
            title: 'I'm a title',
            strapline: 'I'm a strapline'
        },
        locations: body,
        sidebar: 'yadda yadda'
    });
};
homelist函数从my routes.js调用,然后在这里通过requestOptions中的查询从我的请求调用API

但是,当启动请求回调并使用API变量体调用renderHomepage时,我会得到错误:

res.render('jade-template', {
     ^
TypeError: res.render is not a function 

我所有的路线都设置好了,测试得很好。有人对此有解决方案吗?

renderHomepage
函数中的
res
参数(请求的回调)与快速路线的
res
不同

将您的呼叫请求更改为类似以下内容:

request(requestOptions, function(err, serverRes, body) {
    renderHomepage(req, res, body);
});

然后对
请求
/api/locations
的响应是
serverRes
,而发送给客户端的响应是
res
函数
renderHomepage
中的
res
参数(请求的回调)与快线的
res
不一样

将您的呼叫请求更改为类似以下内容:

request(requestOptions, function(err, serverRes, body) {
    renderHomepage(req, res, body);
});

然后对
请求
/api/locations
的响应是
serverRes
,而您发送给客户的响应是
res

就是这样!谢谢,就是这样!非常感谢。