搜索

首页  >  问答  >  正文

javascript - node.js不同模块之间如何传值


data.js(获取一个json,console出来正确)

通过exports传到index.js里,再传到index.jade模板里,结果发现这个getdata是一个空对象。导致title也是空对象,如果getdata.title的话则显示undefined,把json转换成字符串也是空串,这是什么原因?是不是异步io导致的。

我想大声告诉你我想大声告诉你2790 天前1030

全部回复(3)我来回复

  • PHPz

    PHPz2017-05-16 13:25:42

    提供个思路 promise 或者 callback (回调函数)

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:25:42

    exports=json,exports现在是json这个对象的引用,不再是module.exports的引用了,所以json并没有挂到module.exports上,所以你要么是module.exports=json,然后require或者exports.json=json然后获取这个模块require的对象的属性json的值

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:25:42

    可以把data.js封装成一个模块,然后render方法作为回调执行;或者用promise的方式,在then逻辑中执行render方法。你现在这种写法无法获取异步中的值,其次你导出json的方式不对,module.exports=json.

    回复
    0
  • 取消回复