2016-12-27 49 views
1

访问对象的值当我尝试从外部js文件访问对象的值,我得到这个错误如何从外部JS

TypeError: Cannot read property 'viewport' of undefined

测试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" 
} 
+0

难道[我的回答(https://stackoverflow.com/questions/41342935/how-to-access-object-value-from-external-js/41342973#41342973)以下的帮助吗?任何意见? – rsp

回答

0

我同意列出的其他答案,但是,我认为有额外的变量可能是不必要的。

module.exports = { 
    viewport: { 
     desktop: 960, 
     laptop: 320 
    }, 
    startPage: 10, 
    totalPages: 7, 
    threshold: 5 
} 
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之间的差异请参阅此答案:

有关在节点模块一般文档,请参阅:

0

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