如何从外部js访问对象值

时间:2016-12-27 09:58:31

标签: node.js

当我尝试从外部js文件访问对象值时,我收到此错误

  

TypeError:无法读取未定义

的属性“viewport”

测试diff.js

var GlobalConfigs = require('./global-config.js');
console.log(GlobalConfigs.GlobalConfig.viewport.desktop);

全局config.js

GlobalConfig = {
   viewport: {
        desktop: "960",
        laptop: "320"
    },
    startPage: "10",
    totalPages: "7",
    threshold: "5"
 } 

3 个答案:

答案 0 :(得分:4)

您必须使用require导出要访问的对象。

变化:

GlobalConfig = {
   viewport: {
        desktop: "960",
        laptop: "320"
    },
    startPage: "10",
    totalPages: "7",
    threshold: "5"
 } 

为:

exports.GlobalConfig = {
   viewport: {
        desktop: "960",
        laptop: "320"
    },
    startPage: "10",
    totalPages: "7",
    threshold: "5"
};

我也会用数字代替字符串:

exports.GlobalConfig = {
   viewport: {
        desktop: 960,
        laptop: 320
    },
    startPage: 10,
    totalPages: 7,
    threshold: 5
};

有关模块需求和导出如何工作的更多详细信息以及exportsmodule.exports之间的区别,请参阅此答案:

有关Node中模块的一般文档,请参阅:

答案 1 :(得分:0)

您应该使用module.exports。使用此代码 GlobalConfig = { viewport: { desktop: "960", laptop: "320" }, startPage: "10", totalPages: "7", threshold: "5" } module.exports.GlobalConfig = GlobalConfig;

答案 2 :(得分:0)

我同意列出的其他答案,但是,我认为可能没有必要添加其他变量。

module.exports = {
    viewport: {
        desktop: 960,
        laptop: 320
    },
    startPage: 10,
    totalPages: 7,
    threshold: 5
}