ReactJS-The Beginner Master Class
  • React In the Beginning
    • Lesson 1 - Demo: Build a Simple React App - Fast
    • Lesson 2 - HTML Review
    • Lesson 3 - CSS Review
    • Lesson 4 - Modern JavaScript (JSX) Patterns
    • Lesson 5 - Set up Dev Environment
    • Hands-on Practice
  • React Fundamentals
    • Lesson 1 - Understanding Old vs New Way of Building Web Apps - SPAs
    • Lesson 2 - Motivation for Using React as the Solution to Vanilla JS
    • Lesson 3 - What is ReactJS - How it Works
    • React Code Along from Scratch
    • Lesson 4 - Create and Run a React Project with Vite - Full Overview
    • Lesson 5 - Create Hook by State Management in React
    • Lesson 6 - React Project File and Folder Walkthrough
    • Lesson 7 - JSX and How React Treats the DOM & JSX Compilation(by Babeljs) - Overview
    • Lesson 8 - Understanding the Main Files - App.jsx and main.jsx
    • Lesson 9 - Props and One-Way Data Flow - Overview
    • Lesson 10 - Google Bookshelf App - Ver 1.0
    • Hands-on Practice I
    • Hands-on Practice II
  • React State and Styling
    • Lesson 1 - Pulling Book Data from a Different Data File
    • Lesson 2 - Overview of How State Works in React
    • Lesson 3 - RandomQuote App
    • Lesson 4 - Lifting State Up - React Pattern Overview
    • Hands-On - Simple Counter
  • Forms and Interactivity - Grocery List App
    • Lesson 1 - Setup a Simple Form and Input
    • Lesson 2 - Build Form Profile App Using Multi-input Form Data
    • Hands-on : Build a Grocery List App
  • Connecting to the Backend - Consuming APIs - UseEffect Hook
    • Lesson 1 - Connecting to the Back End - Understanding Side Effects, Hooks and useEffect - Overview
    • Lesson 2 - Fetching Data from the Backend the Right Way with useEffect Hook
    • Lesson 3 - Setting Up Loading State
    • Hands-on :Use Dependency Array and Adding Values that Control Side Effects
  • Solo Project 1
  • RESTful APIs :Build a BookSearch App -Ver 2.0
    • Lesson 1: Build and test RESTful APIs with Postman
    • Lesson 2 - BookShelf App Structure
    • Lesson 3 - Create NavBar.jsx Component
    • Lesson 4 - Create Footer Component
    • Lesson 5 - Create BookList.jsx Component
    • Lesson 6 - Create BookCard.jsx Component
    • Lesson 7 - Creating Custom Hooks - useBooks and api-client
    • Lesson 8 - Controlling Network Activities in React with AbortController
    • Lesson 9 - Show Book Details in a Modal - Working
    • Lesson 10 - Bookshelf App Summary
  • Multi-Page Applications (MPAs)
    • Build a Multi-Page React Application
    • Multi-Page React Application
    • Hands-on Practice
  • Backend Frameworks-NEXT.JS
    • Migrating from React to Next.js
    • Lesson 1: Key Concepts of NodeJS and Express for Backend Web Development
    • Lesson 2: How to set up a new Next.js project
    • Lesson 3: How to create Layouts and Pages
    • Hands-on Practice 1
    • Hands on Practice 2
      • New Project & Folder Structure
      • File-Based Routing
      • Server vs Client Components & Router Hooks
      • Start On The Navbar
      • Navbar Links, Dropdowns & React Icons
      • Active Links & Conditional Rendering
      • Homepage Components
      • Properties Page
      • Property Card Dynamic Data
      • Home Property Listings
      • Custom Not Found & Loading Pages
  • Git and GitHubs
    • Git Installation
    • Git Commands
    • GitHub Repository
    • Hands-on Practice
  • Database in Application
    • React Supabase CRUD
    • Hands-on: Note Taking App
  • NoSQL Database
    • Installing MongoDB Community Edition
    • System Env Path Setting
    • How to use MongoDB Shell
    • How to Connect and Use Mongosh in VS Code via MongoDB Extension
    • MongoDB Guide
  • Solo Project 2
  • Deployment and Web Hosting
    • Lesson 1. React+Vite+TS+Shadcn Project
    • Lesson 2. Deploying a React Vite App to Vercel from Vercel CLI
    • Lesson 3 Connecting to GitHub Repo and Automate Deployment
  • Solo Project 3
  • Final Term Project
    • Level 1 Team Project
    • Level 1 Team Project
    • Level 1 Team Project
    • Level 1 Team Project
    • Level 2 Team Project
    • Level 2 Team Project
    • Level 3 Team Project
    • Level 3 Team Project
Powered by GitBook
On this page
  1. React Fundamentals

Lesson 6 - React Project File and Folder Walkthrough

PreviousLesson 5 - Create Hook by State Management in ReactNextLesson 7 - JSX and How React Treats the DOM & JSX Compilation(by Babeljs) - Overview

Last updated 5 months ago

  1. Bash/PowerShell terminal , run (Assue youe are already in your React project directory).

$ code .

let's explore the typical React project file and folder structure in Visual Studio Code (VS Code) and discuss the package.json file in the context of a Vite configuration.

React Project Structure in VS Code

A typical React project created using a tool like Create React App (CRA) or Vite will have a structure similar to this:

Explanation

  • public/:

    • index.html: The main HTML file that serves as the entry point for the browser. It typically contains the root element where React renders the application.

    • favicon.ico: The favicon image that appears in the browser tab.

  • src/:

    • App.js: The root component of your application. It often handles the overall application logic and structure.

    • index.js: The entry point of your application where you render the App component.

    • components/: A folder to organize reusable components (e.g., Header, Footer, Button, etc.).

    • styles/: A folder to store CSS or SCSS files for styling your components.

    • assets/: A folder to store images, fonts, and other static assets.

  • node_modules/:

    • This folder contains all the third-party dependencies (libraries and packages) that your project relies on. It is automatically generated when you install dependencies using npm install or yarn add.

  • package.json:

    • This is the heart of a Node.js project. It's a JSON file that contains metadata about your project, such as the project name, version, author, and dependencies.

package.json in Vite Configuration

When using Vite, the package.json file plays a crucial role in project configuration. Here are some key aspects:

  • Dependencies:

    • You list all the project dependencies (e.g., React, ReactDOM, libraries) in the dependencies section.

    • You can also list development dependencies (e.g., testing libraries, linters) in the devDependencies section.

  • Scripts:

    • The scripts section defines commands that can be executed using npm run <script-name>. Common scripts in Vite include:

      • dev: Starts the development server.

      • build: Builds the application for production.

      • preview: Starts a preview server for the production build.

      • test: Runs unit tests.

  • Vite Configuration:

    • Vite uses a vite.config.js file for its configuration. However, you can also define some Vite-specific settings directly in the package.json file within the vite field. For example, you can specify the root directory, public directory, and other options.

Example package.json snippet for Vite:

// package.json
{
  "name": "my-react-app",
  "version": "1.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@vitejs/plugin-react": "^4.0.0"
  },
  "vite": {
    // Vite configuration options
  }
}

In Summary

The package.json file is essential for managing project dependencies, defining scripts, and configuring Vite. By understanding its structure and contents, you can effectively manage and customize your React projects.