For developing a React application, the setup of tools can be a time-consuming and daunting task. In any React application, there are plenty of moving parts. You may want to set up Babel to transpile JSX into browser-ready code. Also, the need may arise to configure Webpack to pack your project assets. For all such tasks, you may have to invest a lot of time and effort. But the Create React App presents an easier approach to provide you with great convenience. Especially for a react developer, this tool proves to be practical. The present post familiarizes you with everything you need to know about Create React App, so let’s get started:
What is Create a React App?
Built by developers at Facebook, Create React App is a tool (built by developers at Facebook) that provides you with a huge dominance while building React apps. You will get rid of tedious setup and configuration. All you need to do is run a single command and the Create React App will set up the tools you require to begin your React project.
The create-react-app has certain features that make it the primary choice above other alternatives such as less time to learn, only one dependency, no dependency lock-in, and very easy to maintain the React application.
Create React App does not deal with the backend or databases. Essentially, it only generates a frontend build pipeline. Use the same with any backend you prefer. Once you are ready to set up, you can run an npm run build to develop an optimized build of an app within the build folder. In the course of obtaining React js certification, you can get an overview of the Create React App. You can learn in-depth about this tool from its user guide and README.
Read, Also - React vs React native: Key features, Pros & Cons
Features of Create React App:
Local Development Environment:
When you run npm in React, it launches a web pack development server along with a watcher which automatically reloads the application after you modify something. Right from v4, Create React App is known to support the fast refresh of React as a substitute to Hot Module Replacement. Similar to its predecessor, it enables you to rapidly refresh segments of the application after doing modifications in the codebase. In addition, there are some latest features implemented.
‘Fast Reload’ attempts to reload only the adapted portion of the application. It retains the state of functional components as well as hooks. Furthermore, it automatically reloads the application after resolving a syntax error.
With Create React App, it is possible to serve your application on HTTPS. For that, set the HTTPS variable to true before running the server. Consequently, the application will generate several built-in features.
ES6 and ES7:
The Create React App is equipped with its own Babel preset i.e. babel-preset-react-app. The same supports a collection of ES6 and ES7 features. List of few of the features it supports are:
- Dynamic import()
- Object Rest/Spread Properties
- Class Fields and Static Properties
Create React App enables you to include styles by importing the necessary CSS files. While building the application, every CSS file would be concatenated into one bundle. Subsequently, it will be adjoined to the build folder.
Create React App supports CSS modules as well. Those files with the name ‘*.module.css’ are considered CSS modules. This method prevents clashes of CSS selectors. This is because Create React App will make unique class selectors in the resultant CSS files.
Installation of Create React App:
Once you get acquainted with its basic features, the next step is to go for its installation. For your React apps, Create React App offers a modern build setup with no configuration, in no time. Firstly, you have to install the Create React App globally. Follow the steps below:
Open your console or terminal and run: npm install -g create-react-app
For creating a new React app, we have three different options to choose from and these are npm, npx, and yarn so you can select it accordingly based on the feasibility as required.
Now create a new React project using the command ‘create-react-app and terminate it with the name of your project. An example is create-react-app my-app.
Executing the command sets up the dependencies required to create your project. Also, it produces the initial project configuration. Within your project directory, it is allowed to run different commands. The following section discusses the use of some of its commands:
- The ‘npm start’ launches the development server and automatically reloads the page whenever you make edits
- The ‘npm run build’ command bundles the app in static files for production.
- The ‘npm test’ launches the test runner and allows you to test your app through Jest while you build it
- The ‘npm run eject’ command removes your app from the create-react-app setup. So, it enables customization of your project configuration
Advantages of Create React App:
1. Instant reloads:
There is no need to learn and build up several build tools. The ‘Instant reloads’ lets you focus on development. During deployment, your bundles get automatically optimized.
Auto reloads are quite useful when you are developing React applications aggressively and do not want to spend time to stop the application and re-run it all over again and again.
2. Launches in seconds:
Whether you use React or any other library, Create React App conveys your focus on code instead of building tools.
3. Single Dependency:
Your React app just requires one build dependency. After testing, it is found that all its fundamental pieces work collectively and seamlessly. There are no issues like complex version mismatches.
When we create a new app using the create-react-app tool, we don't need to install everything manually because it has pre-configured settings which makes the development setup much faster, the essential libraries such as babel and webpack are pre-configured so we just need to run and it is done.
4. No constrain:
Create React App uses Babel, webpack, ESLint, and a few other projects to support your app. In case you need a configuration, all you need to do is eject from Create React App and then directly edit their config files.
5. Installation of the latest version:
When you create a project using Create React App, you will find that the newest version of React-DOM, React, and react-scripts gets installed automatically. The development dependency deals with every other dev dependency which launches, tests, and builds your app.
6. Ease of maintenance and update:
Typically, the task of updating your build tools seems time-consuming and intimidating. Once the Create React App releases the new versions, you can easily upgrade through this command:
npm install react-scripts@latest