Webpack - пакет общего назначения, с приложениями вне React. До create-react-app
в Интернете было полно примеров создания совершенно нового проекта React, в котором в качестве упаковщика используется веб-пакет. Он чрезвычайно гибок и может обрабатывать вещи, в том числе и помимо того, что потребуется приложению React. Это работает для Angular, Vue, NodeJS и даже Web Assembly.
Но раньше на настройку уходило некоторое время. Вам нужно будет понять, как он работает, и настроить его так, чтобы вы могли переносить свой код React + ES6 в plan-vanilla JS. Вам нужно будет выбрать структуру вывода, которая вам нравится, и настроить для нее веб-пакет. А затем также добавьте поддержку горячей перезагрузки модуля и разделения кода. Во время этого вам также понадобится добавить другие плагины, необходимые Webpack для поддержки всего вышеперечисленного:).
Это, естественно, вызвало некоторую усталость у людей, которые начинали с React.
Итак, Facebook создал cra, который внутренне использует веб-пакет, предварительно сконфигурированный так, чтобы включать все приятные инструменты, чтобы позаботиться об этих основах и помочь вам сосредоточиться на части кода React. Он максимально скрывает от вас веб-пакет, в противном случае процесс сборки может прерваться, если пользователь изменил конфигурацию.
Принимая это во внимание, структурные соглашения, которые использует cra, не должны оказывать никакого влияния на производительность по сравнению с простой установкой веб-пакета. Это просто соглашение.
Ваш вопрос должен быть таким: когда я буду использовать create-реагировать-приложение и когда я буду использовать Webpack?
Будучи новичком, вы, возможно, захотите продолжить, сосредоточившись на своем приложении реакции. В конце концов наступит момент, когда то, что вы хотите сделать, не будет поддерживаться конфигурацией веб-пакета, которой крак управляет изнутри. Очень распространенный пример - если вы хотите написать библиотеку компонентов для повторного использования в других приложениях. Это не может быть сделано с помощью cra (это касается всего приложения :)). Затем вы можете переключиться на веб-пакет и начать изучать его.