импорт массива объектов с модулем в качестве свойства возвращает неопределенный при импорте дважды - PullRequest
1 голос
/ 18 мая 2019

Я пытаюсь импортировать массив объектов, у которого есть модуль в качестве свойства.Первый файл, который импортирует объект, не имеет проблем, но второй имеет неопределенное значение.

// file 1
export default [
  {
    property1: 'bar',
    property2: 'foo',
    property3: require('./somefile').default,
  },
  {
    property1: 'bar',
    property2: 'foo',
    property3: require('./file3').default,
  },
];


// file 2
import myArray from './file1';
console.log(myArray) // everything ok


// file 3
import myArrayAgain from './file1';
console.log(myArrayAgain); // undefined

Вот пример: https://codesandbox.io/embed/boring-hodgkin-uk7q7

1 Ответ

1 голос
/ 18 мая 2019

Я посмотрел на ваш пример кода и ящика и думаю, что у вас есть циклическая зависимость.file1 зависит от file2, но console.log в file2 зависит от file1, который не был бы оценен в этой точке.

Теперь, в примере в описании, file1 зависит от результата file3 и, следовательно, результат file3 не может зависеть от результата file1

Итак, рассмотрите вопрос о том, чтобы file1 требовал какой-то другой файл, если он не file3

//file 1
export default [
  {
    property1: 'bar',
    property2: 'foo',
    property3: require('./somefile').default,
  },
  {
    property1: 'bar',
    property2: 'foo',
    property3: require('./file4').default,
  },
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...