Installation
Install Tailwind CSS with AdonisJS
Setting up Tailwind CSS in an AdonisJS project.
Create your project
Start by creating a new AdonisJS project if you don’t have one set up already. Choose
web
for the project structure andy
when asked to include Webpack Encore.Terminalnpm init adonis-ts-app@latest my-projectcd my-project
Install Tailwind CSS
Using npm, install
tailwindcss
and its peer dependencies, as well aspostcss-loader
, and then run the init command to generate bothtailwind.config.js
andpostcss.config.js
.Terminalnpm install -D tailwindcss postcss postcss-loader autoprefixernpx tailwindcss init -p
Enable PostCSS support
In your
webpack.config.js
file, enable the PostCSS loader. See the Webpack Encore documentation for more information.webpack.config.js/* |-------------------------------------------------------------------------- | CSS loaders |-------------------------------------------------------------------------- | | Uncomment one of the following line of code to enable support for | PostCSS or CSS. | */ // Encore.enablePostCssLoader() Encore.enablePostCssLoader(); // Encore.configureCssLoader(() => {})
Configure your template paths
Add the paths to all of your template files in your
tailwind.config.js
file.tailwind.config.js/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./resources/**/*.{edge,js,ts,jsx,tsx,vue}", ], theme: { extend: {}, }, plugins: [], }
Add the Tailwind directives to your CSS
Add the
@tailwind
directives for each of Tailwind’s layers to your./resources/css/app.css
file.app.css@tailwind base; @tailwind components; @tailwind utilities;
Start your build process
Run your build process with
npm run dev
.Terminalnpm run dev
Start using Tailwind in your project
Make sure your compiled CSS is included in the
<head>
then start using Tailwind’s utility classes to style your content.welcome.edge<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> @entryPointStyles('app') </head> <body> <h1 class="text-3xl font-bold underline"> Hello world! </h1> </body> </html>