Aller au contenu principal

Gridsome et Tailwind CSS sans plugin !

· 2 minutes de lecture
David Couronné

Dans cet article, nous allons juste aborder l'installation et la configuration de tailwindcss dans un projet Gridsome.

Installation de tailwindcss et de purgecss​

yarn add tailwindcss @fullhuman/postcss-purgecss -D

Puis ajouter le fichier de configuration:

npx tailwind init

Ce qui doit donner le fichier suivant:

module.exports = {
theme: {},
variants: {},
plugins: []
}

Importer tailwindcss​

Le mieux est de créer un dossier styledans ./src/assets/ puis de créer un fichier index.css

@tailwind base;

@tailwind components;

@tailwind utilities;

Maintenant il faut importer tout ça dans le fichier main.js

import "./styles/";

Configurer purgecss​

A la racine du projet, créer un fichier purgecss.config.js

class TailwindExtractor {
static extract(content) {
return content.match(/[A-z0-9-:\\/]+/g)
}
}

module.exports = {
content: [
'./src/**/*.vue',
'./src/**/*.js',
'./src/**/*.jsx',
'./src/**/*.html',
'./src/**/*.pug',
'./src/**/*.md',
'./docs/**/*.md',
'./blog/**/*.md',
],
whitelist: [
'body',
'html',
'img',
'a',
'g-image',
'g-image--lazy',
'g-image--loaded',
'active',
],
extractors: [
{
extractor: TailwindExtractor,
extensions: ['vue', 'js', 'jsx', 'md', 'html', 'pug'],
},
],
}

Ensuite, au début du fichier gridsome.config.js , ajouter:

const tailwind = require('tailwindcss')
const purgecss = require('@fullhuman/postcss-purgecss')

const postcssPlugins = [
tailwind(),
]

if (process.env.NODE_ENV === 'production') postcssPlugins.push(purgecss())


module.exports = {
...

Puis à la fin de ce même fichier:

module.exports = {
...
css: {
loaderOptions: {
postcss: {
plugins: postcssPlugins,
},
},
},
}

Enjoy !