2016-12-27 3 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); 

global-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 
}; 

Для получения более подробной информации о том, как модули, требующие и экспортирующие работы и то, что разница между exports и module.exports см. этот ответ :

Для общей документации на модули в узле, см:

0

Вы должны использовать module.exports. Используйте этот код GlobalConfig = { viewport: { desktop: "960", laptop: "320" }, startPage: "10", totalPages: "7", threshold: "5" } module.exports.GlobalConfig = GlobalConfig;

Смежные вопросы