javascript - node.js不同模塊之間如何傳值
問(wèn)題描述
data.js(獲取一個(gè)json,console出來(lái)正確)
通過(guò)exports傳到index.js里,再傳到index.jade模板里,結(jié)果發(fā)現(xiàn)這個(gè)getdata是一個(gè)空對(duì)象。導(dǎo)致title也是空對(duì)象,如果getdata.title的話則顯示undefined,把json轉(zhuǎn)換成字符串也是空串,這是什么原因?是不是異步io導(dǎo)致的。
問(wèn)題解答
回答1:提供個(gè)思路 promise 或者 callback (回調(diào)函數(shù))
回答2:exports=json,exports現(xiàn)在是json這個(gè)對(duì)象的引用,不再是module.exports的引用了,所以json并沒(méi)有掛到module.exports上,所以你要么是module.exports=json,然后require或者exports.json=json然后獲取這個(gè)模塊require的對(duì)象的屬性json的值
回答3:可以把data.js封裝成一個(gè)模塊,然后render方法作為回調(diào)執(zhí)行;或者用promise的方式,在then邏輯中執(zhí)行render方法。你現(xiàn)在這種寫法無(wú)法獲取異步中的值,其次你導(dǎo)出json的方式不對(duì),module.exports=json.
相關(guān)文章:
1. javascript - 用rem寫的頁(yè)面,安卓手機(jī)顯示文字是正常的,蘋果顯示的文字是特別小的是為什么呢2. dockerfile - 為什么docker容器啟動(dòng)不了?3. javascript - webapp業(yè)務(wù)流程基本一致,多套主題(樣式基本不一樣,交互稍有偏差)管理,并且有不斷有新增主題,該如何設(shè)計(jì)組件化架構(gòu)?4. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)5. macos - mac下docker如何設(shè)置代理6. mysql - AttributeError: ’module’ object has no attribute ’MatchType’7. apache - 本地搭建wordpress權(quán)限問(wèn)題8. javascript - web網(wǎng)頁(yè)版app返回上一頁(yè)按鈕在ios設(shè)備失效怎么辦?安卓上可以,代碼如下,請(qǐng)大神幫助,萬(wàn)分感謝。9. 新手 - Python 爬蟲 問(wèn)題 求助10. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問(wèn)題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...
