Webpack无法识别功能参数

时间:2017-03-30 14:17:53

标签: function import webpack export

我已定义了一个函数,并希望使用node包装所有内容。这是功能:

var makeReq = require('./makeReq.js');
var api = "sampleApi";

function videosDetails(videos) {

    var n = videos.length;
    var ids;

    for (var i = 0; i < n; i++) {
        var id = videos[i];
        ids += id.toString() + ','  ;
    };

    var url = api.concat(ids);
    var req = makeReq.makeReq(url);

    for (var i = 0; i < n; i++) {
        videos[i].details = req.items[i].contentDetails;
        videos[i].details = req.items[i].statistics;
    };

    return videos;
};

module.exports = {
    videosDetails: videosDetails()
}

在Chrome控制台上编译时出现错误:

Uncaught TypeError: Cannot read property 'length' of undefined
at videosDetails (app.bundle.js:197)
at Object.<anonymous> (app.bundle.js:217)
at __webpack_require__ (app.bundle.js:20)

当它是函数参数时,不明白为什么它不被识别。提前感谢您的时间。

1 个答案:

答案 0 :(得分:0)

你在{}没有参数的情况下调用videosDetails()

module.exports = {
    videosDetails: videosDetails()
}

导出videosDetails的返回值而不是函数本身。正如您在没有参数的情况下调用它一样,videos将是未定义的。

您可能想要导出该功能:

module.exports = {
    videosDetails: videosDetails
}