文章详情页
javascript - node.js不同模块之间如何传值
浏览:200日期:2023-09-24 17:57:09
问题描述
data.js(获取一个json,console出来正确)

通过exports传到index.js里,再传到index.jade模板里,结果发现这个getdata是一个空对象。导致title也是空对象,如果getdata.title的话则显示undefined,把json转换成字符串也是空串,这是什么原因?是不是异步io导致的。
问题解答
回答1:提供个思路 promise 或者 callback (回调函数)
回答2:exports=json,exports现在是json这个对象的引用,不再是module.exports的引用了,所以json并没有挂到module.exports上,所以你要么是module.exports=json,然后require或者exports.json=json然后获取这个模块require的对象的属性json的值
回答3:可以把data.js封装成一个模块,然后render方法作为回调执行;或者用promise的方式,在then逻辑中执行render方法。你现在这种写法无法获取异步中的值,其次你导出json的方式不对,module.exports=json.
标签:
JavaScript
相关文章:
1. 修改mysql配置文件的默认字符集重启后依然不生效2. javascript - 项目用IE浏览器打开修改前端内容,后台数据修改了,但是前端页面内容不变,用谷歌浏览器测试前端页面可以刷新,求大神解决。3. Java使用数组的速度比C ++中std :: vector快8倍。我做错什么了?4. html5 - 在Mac里使用vscode,却无法使用已下载的扩展……5. java - mybatis源码分析6. Java:使用URL下载图片为何图片下载不完全呢?7. docker网络端口映射,没有方便点的操作方法么?8. css - html根字体设置成很大的值后, 包裹了行内元素的div莫名变高是什么原因9. browsersync一次只能检测一个HTML文件?10. 请教一个python字符串处理的问题?
排行榜

网公网安备