node.js返回未定义的问题

时间:2017-02-19 12:09:07

标签: javascript node.js

当我尝试输出undefined时,为什么我会收到helpers.limitsOfToday.todayStart的任何想法?如果我尝试输出helpers.limitsOfToday,我可以看到该功能。

这是我的代码:

helpers.js文件

const limitsOfToday = () => {
    var todayStart = new Date();
    todayStart.setHours(0, 0, 0, 0);

    var todayEnd = new Date();
    todayEnd.setHours(23, 59, 59, 999);

    return {
        todayStart: todayStart,
        todayEnd: todayEnd,
    }
};

module.exports = { limitsOfToday };

其他档案

const helpers = require('./helpers.js');
helpers.limitsOfToday.todayStart // this is undefined

4 个答案:

答案 0 :(得分:3)

属性limitsOfToday是一个函数,您将返回todayStart作为返回对象的键。

执行limitsOfToday,一切都应该像预期的那样工作:

const helpers = require('./helpers.js');
helpers.limitsOfToday().todayStart; // your start date

答案 1 :(得分:1)

helpers.js 文件中写

module.exports = limitsOfToday; 

和其他文件

helpers().todayStart

另一个解决方案是写入helpers.js文件

module.exports = {limitsOfToday: limitsOfToday}; 

和其他文件

helpers.limitsOfToday().todayStart

答案 2 :(得分:1)

您正在使用limitsOfToday方法导出对象,这只是一个函数,所以当您编写helpers.limitsOfToday.todayStart时,您试图访问对象方法的属性todayStart,该方法不起作用。你需要做的是致电

helpers.limitsOfToday().todayStart

以便limitsOfToday方法返回具有您可以访问的todayStart属性的对象。

答案 3 :(得分:0)

更新你的最后一行是这样的 module.exports = { limitsOfToday: limitsOfToday() };