Create React App (CRA) Quick View
Facebook's command line tool Create React App (CRA) simplifies the creation of React projects. It preconfigured the webpack build process, eliminating the trouble of building complex build pipelines.
CRA can be run from npm or Yarn, and it sets up a project structure containing the react-scripts
package, which contains all configuration and build scripts. The tool also includes a local development server and supports ES6 and ES7 features, CSS modules, Jest unit tests, and ESLint.
Use npm run build
to create a production environment package, generate an optimized application version, and prepare for deployment. It also supports environment variables, code segmentation, TypeScript, progressive web applications, and performance measurement using web vitals.
If the CRA provides insufficient functionality, the user can choose to run npm run eject
, which will copy the webpack configuration and build scripts into the project, allowing customization. Alternatively, users can fork react-scripts
package and maintain their own branches, adding the required features.
How does Create React App work
Create React App is a standalone tool that can be run using npm or Yarn. Generate and run a new React application in a new folder with just a few commands:
Using npm:
npx create-react-app new-app cd new-app npm start
Using Yarn:
yarn create react-app new-app cd new-app yarn start
Create React App will set the following project structure:
<code>new-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</code>
It also adds a react-scripts
package to your project with all configuration and build scripts. In other words, your project depends on the react-scripts
package, not the create-react-app
itself. Once the installation is complete, you can start the development server and start processing your project.
Main functions
-
Local Development Server:
npm start
A webpack development server will be started, including a watcher, which will automatically reload the application after you change the content. Starting with v4, Create React App supports React's quick refresh as an alternative to hot module replacement. -
ES6 and ES7 support: Use
babel-preset-react-app
to support ES6 and ES7 features, such asasync/await
, object rest/spread properties, dynamicimport()
, etc. -
Resource Import: CSS files, images, or fonts can be imported from JavaScript modules. After the application is built, the Create React App copies the files to the build folder.
-
Style: Supports importing CSS files, and all CSS files are merged into one package when building. Supports CSS modules (
*.module.css
) and Sass (.scss
files, and needs to be installed separatelynode-sass
). -
Unit Test:
npm test
Run the test with Jest and start a watcher to rerun the test when you change the content. -
ESLint: During the development process, the code will be analyzed statically through ESLint.
-
Create a production environment package:
npm run build
Create an optimized production environment package. -
Deployment: The generated build result is a static file that can be easily deployed to various environments.
-
Environment variables: Supports the use of environment variables starting with
REACT_APP_
. -
Reverse proxy: You can proxy requests by configuring the
package.json
field inproxy
. -
Code segmentation: supports dynamic
import()
for code segmentation. -
TypeScript Support: TypeScript projects can be created using the
--template typescript
option. -
Progressive Web Applications (PWA) Support: You can use the
--template cra-template-pwa
or--template cra-template-pwa-typescript
options to create PWA projects. -
Web Vitals: Use the
web-vitals
library to track Web Vitals metrics.
Give up using CRA
If the CRA is not functional enough, you can use npm run eject
to copy the webpack configuration and build scripts into your project for customization. Alternatively, you can fork react-scripts
package and maintain your own branches.
Summary
Create React App is a convenient tool to start a new React project, simplifying the build process and providing rich features. Whether it is a rapid prototype or a large project, it saves a lot of development time.
(The FAQs part is omitted because it is duplicated with the article and is too long.)
The above is the detailed content of Create React App: Get React Projects Ready Fast. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations.

Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development.
