Material Tailwind with Vite

Learn how to setup and install @material-tailwind/react with Vite.


Creating a Vite Project

First, create a new Vite project using the command below, it will create a new Vite project with React installed.

For more details check the Vite Official Documentation.

npm create vite@latest my-project -- --template react
npm create vite@latest my-project -- --template react

Install Tailwind CSS

Once you have created your Vite project, you need to install and configure Tailwind CSS by running the following command:

npm install -D tailwindcss postcss autoprefixer && npx tailwindcss init -p
npm install -D tailwindcss postcss autoprefixer && npx tailwindcss init -p

Configure Your Template Paths

Once you have installed Tailwind CSS, you need to configure your template paths in your tailwind.config.js file.

/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}

Add Tailwind CSS Directives to CSS

Next, you need to add the Tailwind CSS directives to your CSS file. Add the @tailwind directives for each of Tailwind's layers to your ./src/index.css file.

@tailwind base;
@tailwind components;
@tailwind utilities;
@tailwind base;
@tailwind components;
@tailwind utilities;

Install Material Tailwind

Once you installed and configured Tailwind CSS, you need to install @material-tailwind/react by running the following command:

npm i @material-tailwind/react@beta
npm i @material-tailwind/react@beta

Add Plugin and Template Path

Once you installed @material-tailwind/react you need to add mtConfig and the template path to your tailwind.config.js file.

import { mtConfig } from "@material-tailwind/react";

/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
"./node_modules/@material-tailwind/react/**/*.{js,ts,jsx,tsx}"
],
theme: {
extend: {},
},
plugins: [mtConfig],
}
import { mtConfig } from "@material-tailwind/react";

/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
"./node_modules/@material-tailwind/react/**/*.{js,ts,jsx,tsx}"
],
theme: {
extend: {},
},
plugins: [mtConfig],
}

Example

Now you're ready to use Material Tailwind components in your Vite project. Here's an example of how to use the Button component:

import { Button } from "@material-tailwind/react";

export default function Index() {
return <Button>Button</Button>
}
import { Button } from "@material-tailwind/react";

export default function Index() {
return <Button>Button</Button>
}