Files
andwati.com/content/posts/vuejs-tailwind.md
T
2025-08-05 03:25:00 +03:00

119 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
+++
title = "Configure Vue.js app With Tailwind CSS"
description = "Tailwindcss in vuejs "
author = "mockingspectre"
date = 2021-06-12
[taxonomies]
tags = ["javascript", "vuejs" , "tailwindcss"]
+++
A guide on how to use [Tailwind CSS](https://tailwindcss.com/) in your Vue project.
>**Note**
> This article was originaly published on my old medium blog. I moved it here for archival purposes.
Tailwind is a utility-first CSS framework for rapidly building custom user interfaces. It is an un-opinionated framework which means that it doesn't come with custom configurations like Bootstrap or Bulma(Yeah, I know, no one should tell you how to live your life).
Now let's get to the juicy part that brought us all here. I'll assume that we are using Vue 3 and the Vue CLI is already installed.
## Create a new Vue project
Open a terminal window and type the following commands to create a new Vue project in the current directory.
```sh
vue create vue-app
```
wait for the dependencies installation to finish then
```sh
cd vue-app
```
to change into the project directory.
## Install the Tailwind CSS and its peer dependencies as a dev dependency using npm
```sh
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
```
## Create your configuration files
Next, generate your `tailwind.config.js` and `postcss.config.js` files:
```sh
npx tailwindcss init -p
```
This command will create a minimal `tailwind.config.js` file at the root of your project:
```js
// tailwind.config.js
module.exports = {
purge: [],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
```
It will also create a `postcss.config.js` file that includes tailwindcss and autoprefixer already configured.Postcss is needed to process tailwind:
```js
// postcss.config.js
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
```
## Configure Tailwind to remove unused styles in production
In your tailwind.config.js file, configure the purge option with the paths to all of your pages and components so Tailwind can tree-shake unused styles in production builds:
```js
// tailwind.config.js
module.exports = {
purge: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
```
## Include Tailwind in your CSS
Navigate to `src/assets/css` and create a new `tailwind.css` file in the folder, and use the @tailwind directive to include Tailwind’s base, components, and utilities styles in the file.
```css
/* ./src/assets/css/tailwind.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
```
Tailwind will swap these directives out at build-time with all of the styles it generates based on your configured design system.
## Import Tailwind into your Vue app
Finally, ensure your CSS file is being imported in your `./src/main.js` file:
```js
// src/main.js
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
createApp(App).mount('#app')
```
You're finished! Now when you run npm run dev, Tailwind CSS will be ready to use in your Vue app! You can now proceed to create awesome stuff