DEV Community

David Zamora Ballesteros
David Zamora Ballesteros

Posted on

Junior level: Setting Up the React Environment

Development Environment Setup

Installing Node.js and npm

To start developing with React, you need to have Node.js and npm (Node Package Manager) installed. Node.js allows you to run JavaScript on your local machine, and npm helps you manage and install JavaScript packages.

Steps to Install Node.js and npm:

  1. Download Node.js:

    • Visit the Node.js website.
    • Download the LTS (Long Term Support) version suitable for your operating system.
  2. Install Node.js:

    • Run the downloaded installer and follow the instructions. This process will also install npm automatically.
  3. Verify Installation:

    • Open your terminal (Command Prompt, PowerShell, or any terminal on Mac/Linux).
    • Run the following commands to check if Node.js and npm are installed:
     node -v
     npm -v
    
  • These commands should print the installed versions of Node.js and npm.

Setting Up a Code Editor (VS Code)

Visual Studio Code (VS Code) is a popular, lightweight code editor with excellent support for JavaScript and React development.

Steps to Set Up VS Code:

  1. Download VS Code:

  2. Install Extensions:

    • Open VS Code.
    • Click on the Extensions icon in the sidebar.
    • Search for and install the following extensions:
      • ESLint: Helps identify and fix JavaScript code issues.
      • Prettier: A code formatter for consistent code styling.
      • vscode-icons: Adds icons to files and folders for better visualization.

Creating a React Project

Introduction to Create React App (CRA)

Create React App (CRA) is a tool that sets up a new React project with a sensible default configuration. It helps you get started quickly without worrying about build configurations.

Creating Your First React Project

Steps to Create a React Project with CRA:

  1. Open your terminal and navigate to the folder where you want to create your project.

    • Example:
     cd path/to/your/projects/folder
    
  2. Run the Create React App command:

   npx create-react-app my-first-react-app
Enter fullscreen mode Exit fullscreen mode
  • npx comes with npm 5.2+ and higher, ensuring you use the latest version of CRA.
  • Replace my-first-react-app with your preferred project name.
  1. Navigate into your project directory:
   cd my-first-react-app
Enter fullscreen mode Exit fullscreen mode
  1. Start the development server:
   npm start
Enter fullscreen mode Exit fullscreen mode

Project Structure and Files Overview

When you create a React project using CRA, it generates a project structure like this:

my-first-react-app/
├── node_modules/
├── public/
│   ├── index.html
│   └── favicon.ico
├── src/
│   ├── App.css
│   ├── App.js
│   ├── App.test.js
│   ├── index.css
│   ├── index.js
│   ├── logo.svg
│   └── reportWebVitals.js
├── .gitignore
├── package.json
├── README.md
└── yarn.lock
Enter fullscreen mode Exit fullscreen mode
  • node_modules/: Contains all the npm packages required by the project.
  • public/: Contains static files, including index.html, which is the entry point of the application.
  • src/: Contains the source code of the React application.
    • App.js: The main component of the application.
    • index.js: The entry point of the React application where ReactDOM renders the App component.
  • package.json: Lists the project dependencies and scripts.
  • README.md: Contains information about the project.

Alternative React Setups

Setting Up React Without CRA

If you prefer more control over your setup, you can create a React project without CRA by manually setting up Webpack and Babel. This approach allows you to customize every aspect of your build configuration.

Steps to Set Up React Manually:

  1. Initialize a new npm project:
   mkdir my-react-app
   cd my-react-app
   npm init -y
Enter fullscreen mode Exit fullscreen mode
  1. Install React and ReactDOM:
   npm install react react-dom
Enter fullscreen mode Exit fullscreen mode
  1. Install Webpack and Babel:
   npm install webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin
Enter fullscreen mode Exit fullscreen mode
  1. Create a basic project structure:
   mkdir src
   touch src/index.js src/App.js public/index.html
Enter fullscreen mode Exit fullscreen mode
  1. Configure Webpack: Create a webpack.config.js file in the project root and add the following configuration:
   const path = require('path');
   const HtmlWebpackPlugin = require('html-webpack-plugin');

   module.exports = {
     entry: './src/index.js',
     output: {
       path: path.resolve(__dirname, 'dist'),
       filename: 'bundle.js'
     },
     module: {
       rules: [
         {
           test: /\.js$/,
           exclude: /node_modules/,
           use: 'babel-loader'
         }
       ]
     },
     plugins: [
       new HtmlWebpackPlugin({
         template: './public/index.html'
       })
     ],
     devServer: {
       contentBase: path.join(__dirname, 'dist'),
       compress: true,
       port: 3000
     }
   };
Enter fullscreen mode Exit fullscreen mode
  1. Configure Babel: Create a .babelrc file in the project root and add the following configuration:
   {
     "presets": ["@babel/preset-env", "@babel/preset-react"]
   }
Enter fullscreen mode Exit fullscreen mode
  1. Add scripts to package.json:
   "scripts": {
     "start": "webpack serve --mode development",
     "build": "webpack --mode production"
   }
Enter fullscreen mode Exit fullscreen mode
  1. Add basic React code:

    • src/index.js:
     import React from 'react';
     import ReactDOM from 'react-dom';
     import App from './App';
    
     ReactDOM.render(<App />, document.getElementById('root'));
    
  • src/App.js:

     import React from 'react';
    
     function App() {
       return <h1>Hello, React!</h1>;
     }
    
     export default App;
    
  • public/index.html:

     <!DOCTYPE html>
     <html lang="en">
     <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <title>React App</title>
     </head>
     <body>
       <div id="root"></div>
     </body>
     </html>
    
  1. Start the development server:
   npm start
Enter fullscreen mode Exit fullscreen mode

Using Vite for React Projects

Vite is a modern build tool that offers faster development times and better performance than traditional bundlers like Webpack.

Steps to Create a React Project with Vite:

  1. Create a new Vite project:
   npm init @vitejs/app my-vite-react-app --template react
   cd my-vite-react-app
Enter fullscreen mode Exit fullscreen mode
  1. Install dependencies:
   npm install
Enter fullscreen mode Exit fullscreen mode
  1. Start the development server:
   npm run dev
Enter fullscreen mode Exit fullscreen mode
  1. Open http://localhost:3000 to view your React application.

Conclusion

Setting up the React environment involves installing Node.js and npm, setting up a code editor like VS Code, and creating a React project using tools like Create React App or Vite. Understanding these setups will give you a strong foundation to start developing React applications efficiently. As you grow in your development journey, experimenting with different setups will help you understand the underlying build processes and make more informed decisions for your projects.

Top comments (0)