Это работает:
import register from './ComponentsRegister';
const register_ = register; // Hacky
const Components = {}
for (var i=0; i<register_.length; i++) {
Components[register_[i].name] = require(''+register_[i].path).default;
}
export default Components;
Но это не так:
import register_ from './ComponentsRegister';
// const register_ = register; // Hacky
const Components = {}
for (var i=0; i<register_.length; i++) {
Components[register_[i].name] = require(''+register_[i].path).default;
}
export default Components;
Ошибка: ReferenceError: register_ is not defined
.Для справки, вот как выглядит ComponentsRegister.js:
const register = [
{
name: 'About',
path: './components/About'
},
{
name: 'Footer',
path: './components/Footer'
},
{
name: 'Header',
path: './components/Header'
},
{
name: 'Home',
path: './components/Home'
}
];
export default register;
Это просто массив объектов с 2 свойствами: имя и путь.Я создаю это как способ динамического импорта компонентов.