Skip to main content
    Back to all articles

    Deploy React App to Vercel: A Step-by-Step Guide

    Web Development
    5 min read
    By BAHAJ ABDERRAZAK
    Featured image for "Deploy React App to Vercel: A Step-by-Step Guide"

    Deploy React App to Vercel: A Step-by-Step Guide

    Creating a React application is just the first step. Making it accessible to the world requires a robust and user-friendly deployment platform. Vercel offers a seamless experience for deploying React apps, providing automatic deployments, global CDN, and effortless scaling. This guide will walk you through the entire process, from setting up your React project to automating deployments with GitHub Actions.

    Why Vercel for React Deployments?

    Vercel is designed with modern web development in mind, making it a natural fit for React applications. Here's why you should consider using Vercel:

    * Ease of Use: Vercel simplifies the deployment process with its intuitive interface and CLI tools.

    * Automatic Deployments: Every push to your Git repository triggers a new deployment, ensuring your live app always reflects the latest changes.

    * Global CDN: Vercel utilizes a global content delivery network (CDN) to serve your application quickly and efficiently to users worldwide.

    * Serverless Functions: Vercel supports serverless functions, allowing you to build dynamic APIs without managing servers.

    * Free Tier: Vercel offers a generous free tier, making it accessible for personal projects and small teams.

    * Integration with GitHub Actions: Simplifies CI/CD.

    Prerequisites

    Before we begin, ensure you have the following:

    * Node.js and npm (or Yarn): Required for creating and managing your React project.

    * A GitHub Account: You'll need a GitHub account to store your project repository.

    * A Vercel Account: Sign up for a free Vercel account at https://vercel.com/.

    Step 1: Create a React Application

    If you don't already have a React application, let's create one using Create React App:

    npx create-react-app my-react-app
    cd my-react-app
    npm start

    This will create a new React project named my-react-app, navigate into the directory, and start the development server. You should see your React app running in your browser.

    Step 2: Push Your Code to GitHub

    Initialize a Git repository in your project directory:

    git init

    Add all your project files to the repository:

    git add .

    Commit your changes:

    git commit -m "Initial commit"

    Create a new repository on GitHub and push your local repository to GitHub:

    git remote add origin <your_github_repository_url>
    git branch -M main
    git push -u origin main

    Replace <your_github_repository_url> with the actual URL of your GitHub repository.

    Step 3: Deploy to Vercel

    Now that your code is on GitHub, let's deploy it to Vercel:

    1. Log in to Vercel: Go to https://vercel.com/ and log in with your GitHub account.

    2. Import Project: Click the "Add New..." button and select your GitHub repository.

    3. Configure Project: Vercel will automatically detect that it's a React application. You typically won't need to change any default settings. If you have environment variables, you can set them here.

    4. Deploy: Click the "Deploy" button. Vercel will build and deploy your application. You'll be provided with a unique URL to access your deployed app.

    Step 4: Automate Deployments with GitHub Actions (CI/CD)

    To automate your deployments with GitHub Actions, you can create a workflow file in your repository. This file will define the steps to be executed whenever you push changes to your repository. Create a file named .github/workflows/deploy.yml with the following content:

    name: Deploy to Vercel
    
    on:
      push:
        branches: [main]
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Install Vercel CLI
            run: npm install --global vercel@latest
          - name: Pull Vercel Environment Information
            run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
          - name: Build Project Artifacts
            run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
          - name: Deploy Project Artifacts to Vercel
            run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}

    Important: You'll need to add your Vercel token as a secret in your GitHub repository.

    1. Generate Vercel Token: In your Vercel account, go to Settings -> Tokens and generate a new token.

    2. Add GitHub Secret: In your GitHub repository, go to Settings -> Secrets -> Actions and add a new secret named VERCEL_TOKEN with the value of your Vercel token.

    Now, every time you push changes to the main branch, GitHub Actions will automatically build and deploy your application to Vercel.

    Optimizing Your React App for Vercel

    While Vercel provides excellent default configurations, consider these optimizations for improved performance:

    * Code Splitting: Use dynamic imports to split your code into smaller chunks, reducing the initial load time.

    * Image Optimization: Optimize your images to reduce their file size without sacrificing quality.

    * Caching: Leverage Vercel's caching features to improve response times for static assets.

    * Environment Variables: Use environment variables for sensitive information and configuration settings.

    Conclusion

    Deploying your React application to Vercel is a straightforward and efficient process. By following these steps, you can quickly and easily share your creation with the world. Furthermore, by incorporating GitHub Actions, you'll ensure a streamlined and automated deployment workflow, allowing you to focus on building amazing applications. Experiment with different optimization techniques to maximize the performance and user experience of your React application on Vercel.