Задать вопрос
JiSeven
@JiSeven
web-developer

Почему require.ensure не работает с ES6 export default?

Парился с роутингом и не понимал почему не подгружаются через require.ensure React компоненты. Вернее, файлы-то подгружались, да только компоненты не монтировались. Случайным образом наткнулся на проблему, что при export default ComponenName компонент не монтируется. Если же поставить module.exports = ComponentName, то все работает. Почему так? Есть способы заставить работать с ES6?
  • Вопрос задан
  • 753 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Дело в том, что ES6 не поддерживает динамический импорт модулей. Для этого есть System, который возвращает промис, но вебпаком он не поддерживается. Подробнее можно прочесть здесь www.2ality.com/2014/09/es6-modules-final.html
Ответ написан
Комментировать
@iminside
// chunk1.js
export default class Component extends React.Component {
    //...
}

// chunk2.js
require.ensure( [], function ( require ) {
    callback( null, require( './module' ).default ) 
    //       то что Вам нужно находится в ^^^^^^^ свойстве default 
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы