SlideShare a Scribd company logo
1 of 69
Vite
Eko Kurniawan Khannedy
Eko Kurniawan Khannedy
- Technical architect at one of the biggest
ecommerce company in Indonesia
- 12+ years experiences
- www.programmerzamannow.com
- youtube.com/c/ProgrammerZamanNow
Eko Kurniawan Khannedy
● Telegram : @khannedy
● Linkedin : https://www.linkedin.com/company/programmer-zaman-now/
● Facebook : fb.com/ProgrammerZamanNow
● Instagram : instagram.com/programmerzamannow
● Youtube : youtube.com/c/ProgrammerZamanNow
● Telegram Channel : t.me/ProgrammerZamanNow
● Tiktok : https://tiktok.com/@programmerzamannow
● Email : echo.khannedy@gmail.com
Sebelum Belajar
● Kelas JavaScript dari Programmer Zaman Now
● Kelas NodeJS dari Programmer Zaman Now
● Kelas TypeScript dari Programmer Zaman Now
Pengenalan Vite
Development Tool
● Saat kita membuat aplikasi menggunakan NodeJS, baik itu menggunakan JavaScript atau
TypeScript
● Maka biasanya banyak hal-hal yang sering kita lakukan secara manual, misal menjalankan
aplikasinya, lalu melakukan restart aplikasi ketika sudah melakukan perubahan
● Atau jika menggunakan TypeScript, kita harus melakukan compile terlebih dahulu, lalu
menjalankan ulang aplikasinya
Pengenalan Vite
● Vite (dibaca vit) adalah tool untuk mempercepat proses development aplikasi yang kita buat
menggunakan NodeJS
● Vite memiliki fitur HMR (Hot Module Replacement), dimana bisa melakukan perubahan module
secara cepat, tanpa kita harus melakukan reload / restart aplikasi yang sedang kita jalankan
● Vite juga memiliki fitur untuk melakukan bundling (membungkus) kode-kode yang kita buat
menjadi sebuah kode yang dioptimasi dengan baik sebagai kode yang baik untuk mode production,
menggunakan bantuan library Rollup : https://rollupjs.org/
● Website resmi Vite bisa kita buka di : https://vitejs.dev/
● Vite saat ini menjadi rekomendasi sebagai Development Tool untuk membuat aplikasi VueJS
Membuat Project
Membuat Project
● Buat folder belajar-vite
● npm init
● Ubah type di package.json menjadi module
Menginstall Vite Dependency
● npm install --save-dev vite
Menjalankan Aplikasi
Menjalankan Aplikasi
● Vite bisa kita gunakan menjalankan aplikasi Web
● Vite menggunakan file index.html sebagai entry point dari aplikasi web yang kita buat
● Untuk menjalankan vite, kita bisa gunakan perintah :
npx vite
● Terdapat banyak opsi yang bisa kita lihat ketika menjalankan Vite, kita bisa gunakan perintah :
npx vite --help
Kode : Index HTML
Kode : Menjalankan Vite
Tugas
● Lakukan perubahan pada file index.html, dan perhatikan perubahan yang terjadi secara otomatis
pada Web Browser tanpa melakukan reload atau restart
JavaScript
JavaScript
● Secara default, Vite mendukung JavaScript Module, sehingga kita bisa membuat kode JavaScript
dengan menggunakan JavaScript Module
Kode : Say Hello
Kode : Index HTML
TypeScript
TypeScript
● Vite juga mendukung kompilasi kode TypeScript secara realtime, sehingga kita bisa membuat
menggunakan kode TypeScript, dan tidak perlu khawatir dengan Web Browser
● Karena Vite akan melakukan proses kompilasi kode TypeScript secara otomatis
Kode : Menambah TypeScript
Kode : Setup TypeScript
Kode : Setting TypeScript
Kode : Say Goodbye TypeScript
Kode : Index HTML
Build
Build
● Ketika aplikasi kita sudah selesai, dan siap untuk di deploy ke production, maka kita bisa
melakukan build menggunakan Vite
● Vite akan melakukan Dependency Pre-Bundling, dimana Vite akan menggabungkan banyak
module yang kita gunakan menjadi satu, hal ini akan mempercepat performa load halaman web
kita
● Selain itu, Vite bisa mendeteksi module-module yang kita gunakan, dan hanya melakukan build
pada module-module yang kita gunakan saja, sehingga ukuran file build akan lebih optimal karena
berisikan kode yang dibutuhkan saja
Perintah Build
● Untuk melakukan build, kita bisa gunakan perintah :
npx vite build
● Untuk melihat opsi apa saja yang bisa kita ubah, kita bisa gunakan perintah :
npx vite build --help
● Secara default, hasil build akan disimpan di folder dist
Kode : Build
Node Dependency
Node Dependency
● Vite juga bisa secara otomatis melakukan build dari dependency yang kita install menggunakan
NodeJS Packages
● Namun perlu diperhatikan, tidak semua NodeJS Package itu compatible dengan Web Browser, jadi
kita harus memastikan NodeJS Package yang kita gunakan itu bisa dijalankan di Web Browser
● Contoh jika kita memasukkan dependency ExpressJS, ini mungkin tidak bisa berjalan di Web
Browser, karena membutuhkan NodeJS HTTP Server, sedangkan di Web Browser, hal itu tidak ada
Kode : Menambah Dependency UUID
Kode : Index HTML
CSS
CSS
● Kode CSS yang terdapat di halaman HTML, secara otomatis juga akan di bundle oleh Vite, dengan
begitu kode CSS nya akan menjadi lebih optimal
● Vite juga mendukung CSS @import
Kode : CSS
Kode : Index HTML
CSS Pre-processors
CSS Pre-processors
● Saat ini, banyak sekali CSS Pre-processor framework yang digunakan untuk mempermudah
pembuatan kode CSS
● Contohnya SASS, LESS, dan STYLUS
● Vite juga mendukung CSS Pre-processors, sehingga kita tidak perlu melakukan kompilasi secara
manual agar menjadi kode CSS yang dimengerti oleh Web Browser
Kode : Menginstall Sass
Kode : Sass
Kode : Index HTML
JSON
JSON
● Vite juga mendukung bundle file JSON, sehingga kita bisa dengan mudah menyimpan data dalam
bentuk JSON, dan mengambil datanya dari JavaScript dengan cara menggunakan JavaScript
Module
Kode : JSON
Kode : Index HTML
Static Assets
Static Assets
● Selain file JavaScript, TypeScript, CSS, JSON, kadang kita juga menggunakan Static Assets ketika
membuat Web, seperti Image, Video, File Text, dan lain-lain
● Vite juga secara otomatis akan melakukan bundle ketika di Web kita menggunakan file Static
Assets
● Selain itu, kita juga bisa melakukan import untuk Static Assets di JavaScript sebagai Text, pada
kasus berupa Text File
Kode : Image
Kode : Text File
Kode : Index HTML
Public Directory
● Kadang, kita juga butuh Static Assets yang ditampilkan secara dinamis, sehingga kemungkinan
lokasinya tidak terdapat di halaman Web HTML
● Atau Static Assets yang nama file nya tidak boleh berubah, misal favicon.ico atau robbot.txt, dan
lain-lain
● Vite mendukung public directory, dimana kita bisa menyimpan semua Static Assets yang tidak
akan di optimize pada folder tersebut
Preview
Preview
● Setelah kita melakukan build menggunakan Vite, semua file distribution terdapat di folder dist
● Kadang kita ingin melihat hasilnya terlebih dahulu, sebelum melakukan deployment ke server
production
● Kita bisa menggunakan perintah :
npx vite preview
● Ingat ini hanya untuk preview di proses development, jangan lakukan hal ini di server production
Configuration
Configuration
● Secara default, Vite sudah memiliki default configuration, sehingga kita tidak perlu melakukan
pengaturan apapun
● Namun, jika kita ingin melakukan pengaturan, Vite juga mendukungnya dengan membuat file
vite.config.js
● Semua konfigurasi yang bisa kita lakukan di Vite, bisa kita baca disini
● https://vitejs.dev/config/
Kode : Configuration
Multi-Page Application
Multi-Page Application
● Saat kita membuat halaman web, kadang kita membuat halaman web lebih dari satu halaman
HTML
● Vite juga mendukung proses build untuk lebih dari satu halaman HTML
● Namun, khusus untuk Multi-Page Application, kita harus daftarkan file-file mana saja yang akan di
build pada Vite Configuration
Kode : Configuration
Kode : Blog HTML
Kode : Contact HTML
Plugins
Plugins
● Saat kita membuat web yang hanya membutuhkan HTML, CSS dan JavaScript, Vite sudah sangat
baik mendukung pekerjaan kita
● Namun, kadang kita menggunakan framework tambahan seperti VueJS, ReactJS, Svelte, dan lain-
lain
● Vite juga memiliki banyak sekali Plugins tambahan untuk mendukung nya
● Kita bisa melihat daftar plugin yang didukung oleh Vite dihalaman ini
● https://vitejs.dev/plugins/
Template
Template
● Diawal, kita membuat project Vite secara manual. Hal ini saya bahas agar kita tahu bagaimana cara
membuat project Vite
● Namun sebenarnya, Vite memiliki template yang bisa kita gunakan untuk membuat project
● Untuk membuat project baru menggunakan template yang sudah disediakan Vite, kita bisa
gunakan perintah :
npm create vite@latest
Materi Selanjutnya
Materi Selanjutnya
● Vitest
● VueJS

More Related Content

Similar to Vite

Html5 ppt
Html5 pptHtml5 ppt
Html5 ppt044249
 
Panduan Dasar Web Matrix
Panduan Dasar Web MatrixPanduan Dasar Web Matrix
Panduan Dasar Web MatrixMas Tri Sragen
 
Aitindo Sharing Session
Aitindo Sharing SessionAitindo Sharing Session
Aitindo Sharing SessionSandi Rosyandi
 
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs web
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs webDiklat IT bagi koperasi: pemeliharaan & pengembangan situs web
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs webFayruz Rahma
 
Tingkatkan Kecepatan Website dengan Plugin Berikut
Tingkatkan Kecepatan Website dengan Plugin BerikutTingkatkan Kecepatan Website dengan Plugin Berikut
Tingkatkan Kecepatan Website dengan Plugin BerikutMuhamad Edison A
 
Tugas 3 Rekayasa Web
Tugas 3 Rekayasa WebTugas 3 Rekayasa Web
Tugas 3 Rekayasa WebCindy Claudia
 
Pengantar desain web
Pengantar desain webPengantar desain web
Pengantar desain webFitra Sani
 
Membangun Webserver IIS7
Membangun Webserver IIS7Membangun Webserver IIS7
Membangun Webserver IIS7Robby Angryawan
 
JavaScript Dasar
JavaScript DasarJavaScript Dasar
JavaScript Dasargdsc10
 
FIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfFIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfherminsusilo2
 
JavaScript Dasar.pdf
JavaScript Dasar.pdfJavaScript Dasar.pdf
JavaScript Dasar.pdfsulfanaidid1
 
Tutorial WordPress: Kenapa Memilih WordPress?
Tutorial WordPress: Kenapa Memilih WordPress?Tutorial WordPress: Kenapa Memilih WordPress?
Tutorial WordPress: Kenapa Memilih WordPress?Medidu
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...Kanaidi ken
 
Perkembangan web server di Linux
Perkembangan web server di LinuxPerkembangan web server di Linux
Perkembangan web server di LinuxTugas_SO2
 

Similar to Vite (20)

Html5 ppt
Html5 pptHtml5 ppt
Html5 ppt
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
Panduan Dasar Web Matrix
Panduan Dasar Web MatrixPanduan Dasar Web Matrix
Panduan Dasar Web Matrix
 
Aitindo Sharing Session
Aitindo Sharing SessionAitindo Sharing Session
Aitindo Sharing Session
 
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs web
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs webDiklat IT bagi koperasi: pemeliharaan & pengembangan situs web
Diklat IT bagi koperasi: pemeliharaan & pengembangan situs web
 
Tingkatkan Kecepatan Website dengan Plugin Berikut
Tingkatkan Kecepatan Website dengan Plugin BerikutTingkatkan Kecepatan Website dengan Plugin Berikut
Tingkatkan Kecepatan Website dengan Plugin Berikut
 
Tugas 3 Rekayasa Web
Tugas 3 Rekayasa WebTugas 3 Rekayasa Web
Tugas 3 Rekayasa Web
 
Pengenalan ReactJS
Pengenalan ReactJS Pengenalan ReactJS
Pengenalan ReactJS
 
Pengantar desain web
Pengantar desain webPengantar desain web
Pengantar desain web
 
Membangun Webserver IIS7
Membangun Webserver IIS7Membangun Webserver IIS7
Membangun Webserver IIS7
 
JavaScript Dasar
JavaScript DasarJavaScript Dasar
JavaScript Dasar
 
FIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfFIC - Flutter Basic.pdf
FIC - Flutter Basic.pdf
 
Bab 1 Teknologi Web
Bab 1   Teknologi WebBab 1   Teknologi Web
Bab 1 Teknologi Web
 
JavaScript Dasar.pdf
JavaScript Dasar.pdfJavaScript Dasar.pdf
JavaScript Dasar.pdf
 
Tutorial WordPress: Kenapa Memilih WordPress?
Tutorial WordPress: Kenapa Memilih WordPress?Tutorial WordPress: Kenapa Memilih WordPress?
Tutorial WordPress: Kenapa Memilih WordPress?
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...
 
bootstrap.pptx
bootstrap.pptxbootstrap.pptx
bootstrap.pptx
 
HTML5
HTML5HTML5
HTML5
 
Perkembangan web server di Linux
Perkembangan web server di LinuxPerkembangan web server di Linux
Perkembangan web server di Linux
 

Recently uploaded

Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASreskosatrio1
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 

Recently uploaded (20)

Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 

Vite

  • 2. Eko Kurniawan Khannedy - Technical architect at one of the biggest ecommerce company in Indonesia - 12+ years experiences - www.programmerzamannow.com - youtube.com/c/ProgrammerZamanNow
  • 3. Eko Kurniawan Khannedy ● Telegram : @khannedy ● Linkedin : https://www.linkedin.com/company/programmer-zaman-now/ ● Facebook : fb.com/ProgrammerZamanNow ● Instagram : instagram.com/programmerzamannow ● Youtube : youtube.com/c/ProgrammerZamanNow ● Telegram Channel : t.me/ProgrammerZamanNow ● Tiktok : https://tiktok.com/@programmerzamannow ● Email : echo.khannedy@gmail.com
  • 4. Sebelum Belajar ● Kelas JavaScript dari Programmer Zaman Now ● Kelas NodeJS dari Programmer Zaman Now ● Kelas TypeScript dari Programmer Zaman Now
  • 6. Development Tool ● Saat kita membuat aplikasi menggunakan NodeJS, baik itu menggunakan JavaScript atau TypeScript ● Maka biasanya banyak hal-hal yang sering kita lakukan secara manual, misal menjalankan aplikasinya, lalu melakukan restart aplikasi ketika sudah melakukan perubahan ● Atau jika menggunakan TypeScript, kita harus melakukan compile terlebih dahulu, lalu menjalankan ulang aplikasinya
  • 7. Pengenalan Vite ● Vite (dibaca vit) adalah tool untuk mempercepat proses development aplikasi yang kita buat menggunakan NodeJS ● Vite memiliki fitur HMR (Hot Module Replacement), dimana bisa melakukan perubahan module secara cepat, tanpa kita harus melakukan reload / restart aplikasi yang sedang kita jalankan ● Vite juga memiliki fitur untuk melakukan bundling (membungkus) kode-kode yang kita buat menjadi sebuah kode yang dioptimasi dengan baik sebagai kode yang baik untuk mode production, menggunakan bantuan library Rollup : https://rollupjs.org/ ● Website resmi Vite bisa kita buka di : https://vitejs.dev/ ● Vite saat ini menjadi rekomendasi sebagai Development Tool untuk membuat aplikasi VueJS
  • 9. Membuat Project ● Buat folder belajar-vite ● npm init ● Ubah type di package.json menjadi module
  • 10. Menginstall Vite Dependency ● npm install --save-dev vite
  • 12. Menjalankan Aplikasi ● Vite bisa kita gunakan menjalankan aplikasi Web ● Vite menggunakan file index.html sebagai entry point dari aplikasi web yang kita buat ● Untuk menjalankan vite, kita bisa gunakan perintah : npx vite ● Terdapat banyak opsi yang bisa kita lihat ketika menjalankan Vite, kita bisa gunakan perintah : npx vite --help
  • 13. Kode : Index HTML
  • 15. Tugas ● Lakukan perubahan pada file index.html, dan perhatikan perubahan yang terjadi secara otomatis pada Web Browser tanpa melakukan reload atau restart
  • 17. JavaScript ● Secara default, Vite mendukung JavaScript Module, sehingga kita bisa membuat kode JavaScript dengan menggunakan JavaScript Module
  • 18. Kode : Say Hello
  • 19. Kode : Index HTML
  • 21. TypeScript ● Vite juga mendukung kompilasi kode TypeScript secara realtime, sehingga kita bisa membuat menggunakan kode TypeScript, dan tidak perlu khawatir dengan Web Browser ● Karena Vite akan melakukan proses kompilasi kode TypeScript secara otomatis
  • 22. Kode : Menambah TypeScript
  • 23. Kode : Setup TypeScript
  • 24. Kode : Setting TypeScript
  • 25. Kode : Say Goodbye TypeScript
  • 26. Kode : Index HTML
  • 27. Build
  • 28. Build ● Ketika aplikasi kita sudah selesai, dan siap untuk di deploy ke production, maka kita bisa melakukan build menggunakan Vite ● Vite akan melakukan Dependency Pre-Bundling, dimana Vite akan menggabungkan banyak module yang kita gunakan menjadi satu, hal ini akan mempercepat performa load halaman web kita ● Selain itu, Vite bisa mendeteksi module-module yang kita gunakan, dan hanya melakukan build pada module-module yang kita gunakan saja, sehingga ukuran file build akan lebih optimal karena berisikan kode yang dibutuhkan saja
  • 29. Perintah Build ● Untuk melakukan build, kita bisa gunakan perintah : npx vite build ● Untuk melihat opsi apa saja yang bisa kita ubah, kita bisa gunakan perintah : npx vite build --help ● Secara default, hasil build akan disimpan di folder dist
  • 32. Node Dependency ● Vite juga bisa secara otomatis melakukan build dari dependency yang kita install menggunakan NodeJS Packages ● Namun perlu diperhatikan, tidak semua NodeJS Package itu compatible dengan Web Browser, jadi kita harus memastikan NodeJS Package yang kita gunakan itu bisa dijalankan di Web Browser ● Contoh jika kita memasukkan dependency ExpressJS, ini mungkin tidak bisa berjalan di Web Browser, karena membutuhkan NodeJS HTTP Server, sedangkan di Web Browser, hal itu tidak ada
  • 33. Kode : Menambah Dependency UUID
  • 34. Kode : Index HTML
  • 35. CSS
  • 36. CSS ● Kode CSS yang terdapat di halaman HTML, secara otomatis juga akan di bundle oleh Vite, dengan begitu kode CSS nya akan menjadi lebih optimal ● Vite juga mendukung CSS @import
  • 38. Kode : Index HTML
  • 40. CSS Pre-processors ● Saat ini, banyak sekali CSS Pre-processor framework yang digunakan untuk mempermudah pembuatan kode CSS ● Contohnya SASS, LESS, dan STYLUS ● Vite juga mendukung CSS Pre-processors, sehingga kita tidak perlu melakukan kompilasi secara manual agar menjadi kode CSS yang dimengerti oleh Web Browser
  • 43. Kode : Index HTML
  • 44. JSON
  • 45. JSON ● Vite juga mendukung bundle file JSON, sehingga kita bisa dengan mudah menyimpan data dalam bentuk JSON, dan mengambil datanya dari JavaScript dengan cara menggunakan JavaScript Module
  • 47. Kode : Index HTML
  • 49. Static Assets ● Selain file JavaScript, TypeScript, CSS, JSON, kadang kita juga menggunakan Static Assets ketika membuat Web, seperti Image, Video, File Text, dan lain-lain ● Vite juga secara otomatis akan melakukan bundle ketika di Web kita menggunakan file Static Assets ● Selain itu, kita juga bisa melakukan import untuk Static Assets di JavaScript sebagai Text, pada kasus berupa Text File
  • 51. Kode : Text File
  • 52. Kode : Index HTML
  • 53. Public Directory ● Kadang, kita juga butuh Static Assets yang ditampilkan secara dinamis, sehingga kemungkinan lokasinya tidak terdapat di halaman Web HTML ● Atau Static Assets yang nama file nya tidak boleh berubah, misal favicon.ico atau robbot.txt, dan lain-lain ● Vite mendukung public directory, dimana kita bisa menyimpan semua Static Assets yang tidak akan di optimize pada folder tersebut
  • 55. Preview ● Setelah kita melakukan build menggunakan Vite, semua file distribution terdapat di folder dist ● Kadang kita ingin melihat hasilnya terlebih dahulu, sebelum melakukan deployment ke server production ● Kita bisa menggunakan perintah : npx vite preview ● Ingat ini hanya untuk preview di proses development, jangan lakukan hal ini di server production
  • 57. Configuration ● Secara default, Vite sudah memiliki default configuration, sehingga kita tidak perlu melakukan pengaturan apapun ● Namun, jika kita ingin melakukan pengaturan, Vite juga mendukungnya dengan membuat file vite.config.js ● Semua konfigurasi yang bisa kita lakukan di Vite, bisa kita baca disini ● https://vitejs.dev/config/
  • 60. Multi-Page Application ● Saat kita membuat halaman web, kadang kita membuat halaman web lebih dari satu halaman HTML ● Vite juga mendukung proses build untuk lebih dari satu halaman HTML ● Namun, khusus untuk Multi-Page Application, kita harus daftarkan file-file mana saja yang akan di build pada Vite Configuration
  • 62. Kode : Blog HTML
  • 65. Plugins ● Saat kita membuat web yang hanya membutuhkan HTML, CSS dan JavaScript, Vite sudah sangat baik mendukung pekerjaan kita ● Namun, kadang kita menggunakan framework tambahan seperti VueJS, ReactJS, Svelte, dan lain- lain ● Vite juga memiliki banyak sekali Plugins tambahan untuk mendukung nya ● Kita bisa melihat daftar plugin yang didukung oleh Vite dihalaman ini ● https://vitejs.dev/plugins/
  • 67. Template ● Diawal, kita membuat project Vite secara manual. Hal ini saya bahas agar kita tahu bagaimana cara membuat project Vite ● Namun sebenarnya, Vite memiliki template yang bisa kita gunakan untuk membuat project ● Untuk membuat project baru menggunakan template yang sudah disediakan Vite, kita bisa gunakan perintah : npm create vite@latest