javascript - node.js不同模塊之間如何傳值
問題描述
data.js(獲取一個(gè)json,console出來正確)
通過exports傳到index.js里,再傳到index.jade模板里,結(jié)果發(fā)現(xiàn)這個(gè)getdata是一個(gè)空對象。導(dǎo)致title也是空對象,如果getdata.title的話則顯示undefined,把json轉(zhuǎn)換成字符串也是空串,這是什么原因?是不是異步io導(dǎo)致的。
問題解答
回答1:提供個(gè)思路 promise 或者 callback (回調(diào)函數(shù))
回答2:exports=json,exports現(xiàn)在是json這個(gè)對象的引用,不再是module.exports的引用了,所以json并沒有掛到module.exports上,所以你要么是module.exports=json,然后require或者exports.json=json然后獲取這個(gè)模塊require的對象的屬性json的值
回答3:可以把data.js封裝成一個(gè)模塊,然后render方法作為回調(diào)執(zhí)行;或者用promise的方式,在then邏輯中執(zhí)行render方法。你現(xiàn)在這種寫法無法獲取異步中的值,其次你導(dǎo)出json的方式不對,module.exports=json.
相關(guān)文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?3. 請教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)4. javascript - Web微信聊天輸入框解決方案5. Matlab和Python編程相似嗎,有兩種都學(xué)過的人可以說說嗎6. javascript - 移動(dòng)端textarea不能上下滑動(dòng),該怎么解決?7. 大家好,請問在python腳本中怎么用virtualenv激活指定的環(huán)境?8. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)9. css - 對于類選擇器使用的問題10. javascript - 關(guān)于audio標(biāo)簽暫停的問題
