【发布时间】:2012-10-20 14:26:22
【问题描述】:
使用 Node.js,如果我将app.js 写为:
var commons = {
title: 'myTitle',
description: 'MyDesc',
menu: {
home: {
label: 'Home',
url: '/',
},
contacts: {
label: 'Contacts',
url: '/contacts'
}
}
}
console.log(commons);
我有这个输出...
{
title: 'myTitle',
description: 'MyDesc',
menu: {
home: {
label : 'Home',
url: '/'
},
contacts: {
label: 'Contacts',
url: '/contacts'
}
}
}
...它工作正常。
但是,如果我要从另一个文件(在同一路径中)加载 app.js 中的变量...
commons.js:
exports.commons = {
title: 'myTitle',
description: 'MyDesc',
menu: {
home: {
label: 'Home',
url: '/',
},
contacts: {
label: 'Contacts',
url: '/contacts'
}
}
}
app.js:
var commons = require('./commons');
console.log(commons);
我作为输出:
commons: {
{
title: 'myTitle',
description: 'MyDesc',
menu: {
home: [Object],
contacts: [Object]
}
}
}
为什么会这样?如何正确地跨两个文件传递变量?
【问题讨论】:
-
如果您的意思是
[Object],那就是console.log在对象嵌套过多时防止向控制台发送垃圾邮件的能力。commons.menu.home.label应该可以正常工作。我不知道为什么它会显示commons: { {- 你确定它会一个接一个地显示{ {吗?
标签: javascript node.js share