2017-02-19 66 views
1

任何想法爲什麼我得到undefined當我嘗試輸出helpers.limitsOfToday.todayStart?如果我嘗試輸出helpers.limitsOfToday,我可以看到該功能。node.js返回undefined問題

這是我的代碼:

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 
+0

寫'module.exports = limitsOfToday;'和其他文件helpers()。todayStart' – Edgar

回答

2

屬性​​是一個函數,您將返回todayStart作爲返回對象的關鍵。

執行​​,一切都應該像預期:

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

更新你的最後一行是這樣 module.exports = { limitsOfToday: limitsOfToday() };

1

helpers.js文件寫

module.exports = limitsOfToday; 

並且在其它文件

helpers().todayStart 

另一個解決方案是在寫文件helpers.js

module.exports = {limitsOfToday: limitsOfToday}; 

並且在其它文件

helpers.limitsOfToday().todayStart 
+0

謝謝你的努力。 (你的第二行)是'helpers.limitsOfToday()。todayStart'嗎? –

+0

不,如果你將module.exports重寫爲函數,你的helpers變量將只是函數而不是對象。 – Edgar

1

您與​​方法,它僅僅是一個函數,所以當你寫helpers.limitsOfToday.todayStart您試圖訪問其沒有按」對象的方法的財產todayStart出口對象工作。你需要做的是叫

helpers.limitsOfToday().todayStart 

使​​方法返回與您可以訪問todayStart屬性對象。