Начать новый проект React не так просто. Вместо того, чтобы погружаться прямо в код и воплощать свое приложение в жизнь, вам придется потратить время на настройку правильных инструментов сборки, чтобы настроить локальную среду разработки, модульное тестирование и производственную сборку. К счастью, помощь всегда под рукой в виде приложения Create React.
Как работает приложение Create React?
Create React App — это автономный инструмент, который можно запустить с помощью npm или Yarn.
Вы можете сгенерировать и запустить новый проект с помощью npm, выполнив всего пару команд:
npx
cd
npm start
Если вы предпочитаете Yarn, вы можете сделать это следующим образом:
yarn create
cd new app
yarn start
Create React App установит следующую структуру проекта:
├──.gitignore
├── node_modules
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
├── README.md
├── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── reportWebVitals.js
│ └── setupTests.js
└── yarn.lock
Он также добавит
Основные характеристики
Локальный сервер разработки
Первое, что вам понадобится, это локальная среда разработки. Запуск npm startзапустит сервер разработки
Вы также можете обслуживать свое приложение через HTTPS, установив HTTPSпеременную trueперед запуском сервера.
Приложение будет создано со многими встроенными функциями.
ЭС6 и ЭС7
Приложение поставляется с собственной предустановкой Babel —
Асинхронно/ждите
Свойства остатка/расширения объекта
Динамический импорт ()
Поля класса и статические свойства
Обратите внимание, что Create React App не предоставляет никаких полифилов для функций времени выполнения, поэтому, если вам нужны
Импорт активов
Вы можете импортировать
import image from '. /image.png’;
console.log (image) ; // image will contain the public URL of the image
Вы также можете использовать эту функцию в CSS:
.image {
}
Стайлинг
Как упоминалось в предыдущем разделе, приложение Create React позволяет добавлять стили, просто импортируя необходимые файлы CSS. При сборке приложения все файлы CSS будут объединены в один пакет и добавлены в папку сборки.
Приложение Create React также поддерживает модули CSS. По соглашению файлы с именем as *.module.cssрассматриваются как модули CSS. Этот метод позволяет нам избежать конфликтов селекторов CSS, поскольку приложение Create React создаст уникальные селекторы классов в результирующих файлах CSS.
В качестве альтернативы, если вы предпочитаете использовать препроцессоры CSS, вы можете импортировать файлы Sass...scssОднако вам нужно будет установить
Кроме того, приложение Create React позволяет добавлять сбросы CSS, добавляя их @
Запуск модульных тестов
Executing npm testзапустит тесты с использованием Jest и запустит наблюдатель, чтобы повторно запускать их всякий раз, когда вы
PASS src/App.test.js
✓ renders learn react link (19 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.995 s
Ran all test suites.
Watch Usage
› Press f to run only failed tests.
› Press o to only run tests related to changed files.
› Press q to quit watch mode.
› Press p to filter by a filename regex pattern.
› Press t to filter by a test name regex pattern.
› Press Enter to trigger a test run.
Jest — это средство запуска тестов, также разработанное Facebook в качестве альтернативы Mocha или Karma. Он запускает тесты в среде Node вместо реального браузера, но предоставляет некоторые специфичные для браузера глобальные переменные с помощью jsdom.
Jest также интегрирован с вашей системой контроля версий и по умолчанию запускает тесты только для файлов, измененных с момента вашего последнего коммита. Подробнее об этом читайте в «Как тестировать компоненты React с помощью Jest «.
ESLint
Во время разработки ваш код также будет проходить через ESLint, статический анализатор кода, который поможет вам обнаружить ошибки во время разработки.
Создание производственного пакета
Когда у вас, наконец, появится
build
├── asset-manifest.json
├── favicon.ico
├── index.html
├── logo192.png
├── logo512.png
├── manifest.json
├── robots.txt
└── static
├── css
│ ├── main.ab7136cd.chunk.css
│ └── main.ab7136cd.chunk.css.map
├── js
│ ├── 2.8daf1b57.chunk.js
│ ├── 2.8daf1b57.chunk.js.LICENSE.txt
│ ├── 2.8daf1b57.chunk.js.map
│ ├── 3.d75458f9.chunk.js
│ ├── 3.d75458f9.chunk.js.map
│ ├── main.1239da4e.chunk.js
│ ├── main.1239da4e.chunk.js.map
│ ├── runtime-main.fb72bfda.js
│ └── runtime-main.fb72bfda.js.map
└── media
└── logo.103b5fa1.svg
Развертывание
Поскольку сборка вашего приложения Create React App состоит только из статических файлов, вы можете развернуть их в удаленной среде разными способами. Вы можете использовать сервер Node.js, если работаете в среде Node.js, или обслуживать приложение с помощью другого
Раздел развертывания в официальной документации содержит обзор того, как развернуть приложение в Azure, AWS, Heroku, Netlify и других популярных средах хостинга.
Особенности разработки
Переменные среды
Вы можете использовать переменные среды Node для ввода значений в код во время сборки. Приложение Create React автоматически ищет любые переменные среды, начинающиеся с REACT_APP_и делает их доступными в глобальном файле process.env. Эти переменные могут быть в.envфайле для удобства:
REACT_APP_BACKEND=http: //
REACT_APP_BACKEND_USER=root
Затем вы можете ссылаться на них в своем коде:
fetch ({process.env.REACT_APP_SECRET_CODE}/endpoint)
Проксирование на серверную часть
Если ваше приложение будет работать с удаленной серверной частью, вам может потребоваться возможность
«proxy»: «http: //localhost:4000»,
Таким образом, сервер будет пересылать любой запрос, который не указывает на статический файл, на указанный адрес.
Разделение кода
Приложение Create React поддерживает разделение кода с помощью динамической директивы import (). Вместо того, чтобы возвращать значения, экспортированные модулем, он возвращает обещание, которое разрешается в эти значения. В результате модули, импортированные таким образом, не будут включены в окончательный комплект, а будут встроены в отдельные файлы. Это позволяет уменьшить размер конечного пакета и загружать контент по требованию.
Поддержка машинописного текста
Вы можете включить TypeScript, чтобы получить преимущества статического анализа типов при создании нового проекта. Это можно сделать, используя другой шаблон, отличный от стандартного, для создания проекта:
npx
Вы также можете добавить поддержку TypeScript в существующий проект, как описано в документации.
Прогрессивные
Точно так же вы можете добавить прогрессивную поддержку
Чтобы включить
npx
# or with TypeScript support
npx
Приложение Create React позволяет измерить производительность и скорость отклика вашего приложения. Это делается путем отслеживания метрик, определяемых web Vitals и измеряемых с помощью библиотеки
Приложение Create React предоставляет удобную функцию для отслеживания всех доступных метрик:
// index.js
reportWebVitals (console.log) ;
Не принимая участия
Если в
В качестве альтернативы вы также можете разветвить
В заключение
Если вы хотите начать новый проект React, не ищите дальше. Create React App позволит вам быстро начать работу над вашим приложением вместо того, чтобы писать еще одну конфигурацию
Приложение Create React стало неотъемлемой частью экосистемы React. Независимо от того, используете ли вы его для создания быстрого прототипа или для создания следующего крупного проекта, он сэкономит вам много часов времени разработчиков.