Зачем тогда агитировать за CRA, если вы нарушаете принципы?
Я бы не называл это нарушением принципов. Это workaround для конкретного и очень редкого случая,
не делая eject и не жертвуя всеми будущими фичами CRA.
но если уперлись во что-то что нельзя, а вам очень хочется — слезайте
Да, но перед этим несколько раз подумайте, чем и ради чего вы жертвуете. Особенно если у вас далеко не один проект.
Я уверен что все бизнес задачи можно решить используя то, что предоставляет CRA.
А если это просто «хотелки» — то это уже другой разговор.
Ну не факт, что «начнете понимать». Добавив лоадер или плагин — это супер просто. Понимать все возможности бандлера — это опыт и чтение документации.
Если слезть с CRA на свой конфиг, то в качестве бонуса вы начнете понимать как работает webpack
Так вроде все работает (могу ошибаться)?
Вы не сможете использовать hot module reloading
да, но уже давно есть PR github.com/…reate-react-app/pull/1292 и теоретически он попадет в релиз 0.10.0
Спасибо за объяснение, но я знаю, что это такое :)
На данный момент webpack.HotModuleReplacementPlugin() из коробки работает только для CSS.
Для компонентов — нужно в index.js добавить несколько строк:
— state компонента не сохраняется
— Redux / Mobx / whatever state managers сохраняют свой стейт