How to Add Bootstrap 5 to Laravel 10 with Vite

1 year ago admin Laravel

In today's lesson, we are going to see how to add Bootstrap 5 to Laravel 10 with Vite, the process is simple and easy just follow all the steps carefully.


Install Bootstrap 5 in Laravel 10

So I have already my Laravel 10 app installed we need now to add Bootstrap 5 first of all run these 2 commands :

  1. npm i --save bootstrap @popperjs/core
  2. npm i --save-dev sass

Next, we will create a new folder inside the resources folder and give it sass as a name.

Inside the sass, folder add a new file and give it app.scss as a name.

Put the code below inside the file: 

                                                    
                                                                                                                
// Fonts
@import url('https://fonts.bunny.net/css?family=Nunito');

// Variables
@import 'variables';

// Bootstrap
@import 'bootstrap/scss/bootstrap';

Create _variables.scss file

Inside the sass, folder add a new file and give it _variables.scss as a name.

Put the code below inside the file: 

                                                        
                                                                                                                        
// Body
$body-bg: #f8fafc;

// Typography
$font-family-sans-serif: 'Nunito', sans-serif;
$font-size-base: 0.9rem;
$line-height-base: 1.6;



Update the file bootstrap.js

Next, we will import the file app.scss and bootstrap inside the file bootstrap.js so add the following lines on the top of the file.

                                                        
                                                                                                                        
import '../sass/app.scss';
import * as bootstrap from 'bootstrap';

Add bootstrap path to vite

Next, we will update the file vite.config.js, and add the path to bootstrap.

                                                        
                                                                                                                        
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import path from 'path';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
    ],
    resolve: {
        alias: {
            '~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'),
        }
    },
});



Update the welcome page

Inside your welcome page update the content and add a link to the app.js file, next run your server you will see a red button which means that everything is working fine.

                                                        
                                                                                                                        
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Home</title>
</head>
<body>
    <div class="container">
        <div class="row my-4">
            <div class="col-md-4 mx-auto">
                <div class="btn btn-danger">
                    Hello There
                </div>
            </div>
        </div>
    </div>
    @vite(['resources/js/app.js'])
</body>
</html>

Related Tuorials

How to Prevent the Loop Incrementing Operator from Resetting Back to 1 in the Next Pagination Pages in Laravel

In this lesson, we will see how to prevent the loop incrementing operator from resetting back to 1 i...


How to Logout a User from the Other Devices in Laravel 11

In this lesson, we will see how to logout a user from the other devices in Laravel 11, sometimes you...


How to Logout a User from the Current Device in Laravel 11

In this lesson, we will see how to logout a user from the current device in Laravel 11, sometimes yo...


How to Import Multiple Classes from a Single Namespace in Laravel

In this lesson, we will see how to import multiple classes from a single namespace in Laravel by add...


Laravel 11 Livewire CRUD Application Tutorial Part 2

In the second part of this tutorial, we will display all the tasks on the home page and later we wil...


Laravel 11 Livewire CRUD Application Tutorial Part 1

This tutorial will show us how to create a Laravel 11 Livewire CRUD application. The user can c...


How to Conditionally Include a Blade Template in Laravel

In this lesson, we will see how to conditionally include a blade template in Laravel.Sometimes,...


How to Include a Blade Template Only if it Exists in Laravel

In this lesson, we will see how to include a blade template only if it exists in Laravel.Sometimes,&...


How to Pass a Variable to Include in Laravel

In this lesson, we will see how to pass a variable to include in Laravel. Sometimes, we want to pass...


How to the Get the Previous and Next Posts in Laravel

In this lesson, we will see how to get the previous and next posts in Laravel, sometimes when you ge...