CSS Frameworks
Tailwindโ
To enable support for Tailwind in your project, you need to add two config files โ tailwind.config.cjs and postcss.config.cjs โ to the root directory.
With these files present, Wasp installs the necessary dependencies and copies your configuration to the generated project. You can then use Tailwind CSS directives in your CSS and Tailwind classes on your React components.
.
โโโ main.wasp
โโโ package.json
โโโ src
โย ย โโโ Main.css
โย ย โโโ MainPage.jsx
โย ย โโโ vite-env.d.ts
โย ย โโโ waspLogo.png
โโโ public
โโโ tsconfig.json
โโโ vite.config.ts
โโโ postcss.config.cjs
โโโ tailwind.config.cjs
If you can not use Tailwind after adding the required config files, make sure to restart wasp start. This is sometimes needed to ensure that Wasp picks up the changes and enables Tailwind integration.
Enabling Tailwind Step-by-Stepโ
Make sure to use the .cjs extension for these config files, if you name them with a .js extension, Wasp will not detect them.
- Add
./tailwind.config.cjs.
const { resolveProjectPath } = require('wasp/dev')
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [resolveProjectPath('./src/**/*.{js,jsx,ts,tsx}')],
theme: {
extend: {},
},
plugins: [],
}
- Add
./postcss.config.cjs.
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
- Import Tailwind into your CSS file. For example, in a new project you might import Tailwind into
Main.css.
@tailwind base;
@tailwind components;
@tailwind utilities;
/* ... */
- Start using Tailwind ๐ฅณ
// ...
<h1 className="text-3xl font-bold underline">
Hello world!
</h1>
// ...
Adding Tailwind Pluginsโ
To add Tailwind plugins, install them as npm development dependencies and add them to the plugins list in your tailwind.config.cjs file:
# Wasp requires you to have Tailwind ^3.2.7 written in your package.json, you
# must explicitly install it.
npm install -D tailwindcss@3.2.7
npm install -D @tailwindcss/forms
npm install -D @tailwindcss/typography
and also
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/typography'),
],
// ...
}