Чем отличается установка официального React от этого туториала?

Я устанавливал React в папку с помощью официального туториала

npx create-react-app my-app
cd my-app
npm start

Но почему то я вспомнил про все эти webpack и babel, и тут попалась статья как начать проект с помочью этих двух элементов и еще разных по типу scss и так далее. Вот ссылка на статью: https://dev.to/iamismile/how-to-setup-webpack-and-babel-for-react-59ph и я боюсь сейчас трогать папку, потому что там всегда что то да ломается, я еще новичек в вебе и постоянно что то делаю не то.

Вопрос:

Если кратко то я сделал вот эти шаги:

mkdir react-setup-tutorial cd react-setup-tutorial mkdir public src touch public/index.html src/app.js

далее создал html и положил туда кусок кода из туториалла.

продолжил:

npm init -y

npm install webpack webpack-cli --save-dev

создал и положил опять кусок кода webpack.config.json

добавил код в package.json

ВАЖНЫЙ ЭТАП: Что это? npm install react react-dom

Смущает что загрузка прошла быстро в отличии от официального туториалла. Наводит на то что все эти этапы делаются в официальном на автомате

Далее сделал следующие шаги, опишу кратко:

(1) => Install & Configure Babel 
(2) => Configure Source Map
(3) => Install DevServer
(4) => Loading the Styles

Ответы (2 шт):

Автор решения: Aziz Umarov

Сделать и сравнить оба в чем проблемы. Про100 официальный сделает кучу работы за вас под капотом, а в вашем туториале ручками. И официальный старается подготовить максимально общий проект для начала. Это ведь не говорит что его менять нельзя. Просто точка входа в одном случае котлован под стройку во втором стандартная коробка. Задача туториале научить работать, а стандартного проекта быстро начать. Выводы делайте сами.

→ Ссылка
Автор решения: Afgan0r

Create React App (CRA) дает уже готовые конфиги и избавляет от необходимости добавлять и контролировать версии библиотек по типу babel*, eslint* и webpack*. Так же это гарантирует что в разных проектах на одной версии CRA будут одинаковые конфиги

Только учитывайте, что вы не сможете настраивать конфиги webpack, babel и т.п. Есть возможность делать это через package.json, но не всегда

Необходимость менять руками конфигурации появляется не так часто поэтому это небольшая плата за отсутствие головной боли

→ Ссылка