Cara menggunakan purgecss config

For building the final CSS file we need to run the command

npx tailwind init
3 in the root of the project folder.

The resulting file is in

npx tailwind init
4

Automatically regenerate the CSS upon file changes

There is a great npm package that will compile our CSS in real-time without running the build command every time after edits. For that we need to install the watch using the command:

npm install watch

Enter fullscreen mode Exit fullscreen mode

Then we need to edit the

npx tailwind init
2 file at scripts like:

"scripts": {
  "build:css": "postcss src/tailwind.css -o static/dist/tailwind.css",
  "watch": "watch 'npm run build:css' ./layouts"
}

Enter fullscreen mode Exit fullscreen mode

Now for running we simply need to execute the command

npx tailwind init
6 and itโ€™s all good.

Trim the File Size

If we check the final CSS file i.e after building, we can see that itโ€™s huge in size. That large file is never appropriate for web pages. For that, we can actually trim the file to make it smaller than the original.

We need to install two more npm packages:

npm install cssnano
npm install @fullhuman/postcss-purgecss

Enter fullscreen mode Exit fullscreen mode

What is PurgeCSS?

PurgeCSS is a development tool used for removing the unused CSS in a Project. It is the default library to control the Tailwind CSS Bundle Sizes. It removes unused styles and optimizes CSS Build Sizes.

Tailwind CSS merupakan framework CSS yang berbasis utility untuk membuat UI atau tampilan dari aplikasi web.

Berbasis utility artinya Tailwind cuma terdiri dari 100% utility class dan nggak ada class komponen seperti Navbar, Button, Card, Modal, dll. Komponen-komponen ini kita buat sendiri dengan class utility.

Sebagai contoh:

Ketika kita ingin membuat komponen Button, maka kita bisa gunakan beberapa kelas utility untuk button seperti class background, border, color, dan sebagainya.

Mungkin kamu merasa:

โ€œWah ribet ya Tailwind, nggak kayak Bootstrap yang sudah punya class komponen dan bisa langsung pakaiโ€

Saya juga dulu berpikir demikian,

Tapi..

Setelah mencoba Tailwind beberapa lama, malah jadi keenakan hehe. ๐Ÿ˜„

Sejarah Singkat Tailwind CSS

Tailwind css pertama kali dikemmbangkan oleh Adam Wathan di tahun 2017, rilis versi 1.0 di tahun 2019.

Versi tailwind saat ini adalah versi 3.2.4. Jika kamu tertarik untuk melihat sejarah perubahan dari versi ke versi, kamu bisa baca CHANGELOG di Github.

Kenapa Pakai Tailwind CSS?

Saya sebelumnya pernah pakai framework yang berbasis komponen seperti Bootstrap CSS, Bulma, MaterializeCSS, namun merasa kurang puas dengan framework ini.

Mengapa?

Pertama saya merasa kurang bebas kustomisasi komponennya. Kalau mau custom, harus override class yang udah ada.

Kedua, kode CSS dari komponen yang nggak dipakai akan ikut nyangkut di CSS hasil build. Ini membuat ukuran CSS-nya jadi lebih besar.

Walaupun saya coba pakai PurgeCSS, namun kadang hasil tampilannya nggak maksimal, ada aja yang bermasalah.

Akhirnya, saya coba Tailwind.. dan merasa sangat puas dan bebas kustomisasi tampilan web.

Hasil build kode CSS tailwind hanya akan menambahkan class-class yang dipakai saja.

Kalau class-nya nggak dipakai, ya nggak akan ditambahkan. Ini yang membuat hasil build CSS Tailwind lebih kecil dibandingkan Bootstrap, Bulma, Materialize, dll.

Persiapan Alat untuk Belajar Tailwind

Ada tiga alat yang kita butuhkan untuk coding Tailwind:

  1. Teks Editor โ€“ buat menulis kode
  2. Web browser โ€“ buat ngeliat hasilnya
  3. Nodejs โ€“ buat install library dan package

Nodejs dipakai buat menginstal Tailwind CSS dan juga beberapa modul yang diperlukan.

Jika kamu belum menginstal Nodejs, silahkan baca:

  • Cara Install Nodejs di Windows, Linux, dan Mac

Kemudian untuk text editor bebas, bisa pakai yang mana aja, sesuai selera masing-masing.

Biasanya teks editor yang dipakai adalah:

  • VSCode
  • Sublime Text
  • Atom
  • web storm dll.

Pada tutorial ini saya akan menggunakan text editor Visual Studio Code, karena fitur dan extensions yang ditawarkan dapat mempermudah proses development.

Oya, di VS Code.. kamu bisa install ekstension Tailwind IntelliSense buat mempermudah saat kamu kurang inget nama-nama class.

Lihat cara instalnya di website resmi Tailwind Intellisense.

Oke, selanjutnya untuk browser kita bebas menggunakan Chrome, Mozilla, Safari, Brave dll.

Setelah semuanya siap, mari kita mulai praktik hand on Tailwind..

Membuat Project Tailwind

Ada dua cara yang bisa dilakukan untuk menggunakan Tailwind di dalam project:

  1. Menggunakan link CDN
  2. Menggunakan NPM dari Nodejs

Mari kita coba keduanya.

1. Menggunakan Tailwind dari CDN

Menggunakan Tailwind dari CDN tidak direkomendasikan untuk dipakai di production, karena kita nggak akan dapat hasil build CSS yang optimal.

Tapi jika hanya untuk belajar Tailwind dan coba-coba, ini dibolehkan.

Gimana cara menggunakan Tailwind dari CDN?

Pertama siapkan dulu file atau kode HTML, kemudian di dalam tag

mkdir belajar-tailwind
6 tambahkan link CSS dengan alamat CDN Tailwind.

Mari kita coba!

Buat file dengan nama

mkdir belajar-tailwind
7 kemudian isi dengan kode berikut:

tailwind-from-cdn.html

<!doctype html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Coba Tailwind dari CDN</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <h1 class="text-3xl font-bold underline">
    Hello world!
  </h1>
</body>
</html>

Setelah itu, buka dengan web browser.

Maka hasilnya:

Sangat mudah bukan.

Tapi ingat ya, CDN ini dipakai buat coba-coba dan belajar aja. Nggak direkomendasikan untuk production.

Jika mau pakai Tailwind di production, maka kita harus menggunakan Tailwind CLI dengan NPM.

Mari kita coba!

2. Membuat Project Tailwind dengan NPM

Pertama kita siapkan dulu folder baru untuk project.

Gunakan perintah:

mkdir belajar-tailwind

untuk membuat folder baru dari Terminal.

Setelah itu, masuk ke dalam folder yang sudah dibuat tadi dengan perintah

cd belajar-tailwind

Kemudian seperti biasa, kita harus melakukan inisialisasi atau persiapan awal dengan NPM di dalam folder ini.

Jalankan perintah:

npm init

Kemudian isi dengan data project, jika tidak mau diubah biarkan saja kosong dengan menekan enter.

Perintah ini akan membuat file baru bernama

mkdir belajar-tailwind
8 yang berisi metadata project seperti (package name, version, description, author).

Selanjutnya kita akan menginstall tailwind css menggunakan

mkdir belajar-tailwind
9.

Jalankan perintah ini di Terminal atau CMD:

npm install tailwindcss

untuk menginstall Tailwind ke dalam project.

Tunggulah sampai prosesnya selesai.

Setelah itu, lanjutkan membuat file konfigurasi tailwind.

Jalankan perintah:

npx tailwindcss init

Perintah ini akan membuat file baru bernama

cd belajar-tailwind
0. File ini berisi konfigurasi yang dibutuhkan Tailwind.

Berikut tampilan dari project setelah melakukan proses instalasi tailwind.

Kemudian, kita akan melakukan konfigurasi path konten pada file

cd belajar-tailwind
0.

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}

Perhatikan pada bagian

cd belajar-tailwind
2, di sana kita menambahkan path
cd belajar-tailwind
3.

Artinya saat kita melakukan build CSS, si Tailwind akan mencari class-class apa saja yang dipakai di file HTML dan JS pada path tersebut.

Setelah itu, buat folder baru dengan nama

cd belajar-tailwind
4 di dalam project. Kemudian buat file CSS baru di dalam
cd belajar-tailwind
4 dengan nama
cd belajar-tailwind
6 dan isi seperti ini:

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

Selanjutnya buatlah file

cd belajar-tailwind
7 di dalam folder
cd belajar-tailwind
4 untuk menggunakan class-class dari Tailwind.

Isi file

cd belajar-tailwind
7 seperti ini:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/dist/output.css"/>
    <title>Project Tailwind dengan NPM</title>
</head>
<body>
  <h1 class="text-3xl font-bold text-teal-700">Petani Kode</h1>
</body>
</html>

Perhatikan link CSS di HTML ini ๐Ÿ‘†. Kita menulisnya seperti ini:

/dist/output.css

Karena kita akan buka di Live server atau localhost. Jika kamu mau langsung buka tanpa live server, cukup tuliskan seperti ini tanpa

npm init
0

mkdir belajar-tailwind
0

Tanda

npm init
1 artinya kita mau akses file CSS yang berada di parent direktori.

Ini karena kita menyimpan file HTML-nya di dalam folder

cd belajar-tailwind
4.

O iya, file

npm init
3 ini belum ada. File ini akan dibuat otomatis oleh Tailwind.

Caranya:

Jalankan perintah berikut:

mkdir belajar-tailwind
1

Perintah ini ๐Ÿ‘† bertujuan untuk membuat file CSS (

npm init
4) berdasarkan class-class yang dipakai pada path konten (
cd belajar-tailwind
7).

Ini hasil build-nya:

Jika kamu ingin hasil build-nya di-optimasi (minify), gunakan opsi

npm init
6 di belakangnya.

Contoh:

mkdir belajar-tailwind
2

Hasil

npm init
4 akan di-minify.

Hasil build yang minify ini cocok dipakai di production, karena ukurannya lebih kecil dan sudah dioptimasi.

Jika kamu membuka file

cd belajar-tailwind
7 di browser sekarang, maka tidak akan ada hasil CSS dari Tailwind.

Tenang..

Jangan panik!

Ini karena kita menuliskan di

npm init
9 dengan
npm install tailwindcss
0, seharusnya
npm install tailwindcss
1 biar dia membaca folder
npm install tailwindcss
2.

Coba ubah

npm install tailwindcss
3 menjadi
npm install tailwindcss
1.

mkdir belajar-tailwind
3

Maka hasilnya:

Menggunakan Live Server

Alur kerja kita di project Tailwind dengan NPM adalah seperti ini:

  1. Ubah atau gunakan class di file HTML
  2. Jalankan perintah untuk build CSS Tailwind
  3. Lihat hasilnya di browser

Ini cukup merepotkan, karena harus dilakukan berulang-ulang.

Biar tidak begini, kita bisa pakai Live server dan membuat custom script sendiri di

mkdir belajar-tailwind
8.

Silahkan buka file

mkdir belajar-tailwind
8, lalu di bagian
npm install tailwindcss
7 buat menjadi seperti ini:

package.json

mkdir belajar-tailwind
4

Pada script ini, kita menentukan perintah untuk build CSS tailwind dengan opsi

npm install tailwindcss
8.

Ini artinya Tailwind akan memantau perubahan yang terjadi pada konten, lalu langsung melakukan build otomatis.