Чем отличается установка официального 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 шт):
Сделать и сравнить оба в чем проблемы. Про100 официальный сделает кучу работы за вас под капотом, а в вашем туториале ручками. И официальный старается подготовить максимально общий проект для начала. Это ведь не говорит что его менять нельзя. Просто точка входа в одном случае котлован под стройку во втором стандартная коробка. Задача туториале научить работать, а стандартного проекта быстро начать. Выводы делайте сами.
Create React App (CRA) дает уже готовые конфиги и избавляет от необходимости добавлять и контролировать версии библиотек по типу babel*, eslint* и webpack*. Так же это гарантирует что в разных проектах на одной версии CRA будут одинаковые конфиги
Только учитывайте, что вы не сможете настраивать конфиги webpack, babel и т.п. Есть возможность делать это через package.json, но не всегда
Необходимость менять руками конфигурации появляется не так часто поэтому это небольшая плата за отсутствие головной боли