Laravel Framework & Penyusunan Asset Laravel


Laravel Assets Compiling


1. Front End (FE) side development mengalami kemajuan dan perubahan yang sangat

cepat.

2. Saat ini FE menjadi bagian yang sangat penting, karena berhubungan dan berinteraksi

langsung dengan user. App akan terlihat bagus dan profesional ketika FE nya bagus

dan intuitive

3. Banyak tools atau framework yang bisa digunakan untuk mempermudah dan

mempercepat FE development, contoh Bootstrap, React JS, Vue Js, Angular dan lain

sebagainnya.

4. FE ini berjalan disisi browser, jadi browser akan mendownload file JS dan CSS. Semakin

komplek FE, maka file JS dan CSS akan semakin besar ukuranya, dan ini akan

mempengaruhi loading time ketika membuka halaman web.

5. Jadi kita selaku developer perlu melakukan optimasi pada bagian FE

6. Salah satu tools yang widely used around the world adalah Webpack

(https://webpack.js.org/).

7. Webpack adalah salah satu bundler tools yang luar biasa powerful, yang mampu

mempersiapkan dan mengoptimasi aset FE (JS dan CC) supaya bisa secara optimal

dijalankan pada browser

8. Salah satu kekurangannya adalah Webpack membutuhkan learning curve yang tinggi

untuk bisa menggunakannya dengan baik.

9. Laravel Mix menyediakan Interface bagi laravel developer untuk bisa mengintegrasikan

Webpack pada laravel project dengan lebih sederhana dan mudah.

10. Untuk lebih detail mengenai laravel mix bisa mengunjungi halaman

https://laravel-mix.com/docs/main/what-is-mix atau https://laravel.com/docs/8.x/mix.

11. Untuk bisa menggunakan dan memanfaatkan laravel mix dengan baik, maka perlu

meng-install NodeJS dan NPM.

12. Untuk lebih dental mengenai NodeJs dan NPM bisa mengunjungi halaman inni

https://nodejs.org/en/.

13. Pastikan NodeJs dan NPM terinstall pada komputer masing-masing. Untuk versi nya

gunakan versi latest.

14. Saran

a. Perlu internet yang stabil

b. Saya sarankan menggunakan Mac atau Linux based OS, pengalaman saya di

Windows sering terjadi error yang tidak diinginkan.

c. Kalau terjadi error jangan panik, cukup copy paste error message nya di google,

biasanya diluaran sana sudah ada orang-orang yang pernah mengalami error

tersebut dan men-share bagaimana cara menyelesaikanya

15. Laravel Mix dan Assets

16. Selesai

Bootstrap

1. Kita akan menggunakan Bootstrap untuk membantu kita dalam mendesain dan

layouting halaman web. Jadi saya sarankan anda  mempelajari bootstrap.

2. Bootstrap (https://getbootstrap.com/) adalah salah satu CSS framework yang bisa

membantu developer untuk mendesain dan meng kostumisasi halaman web dengan

mudah dan cepat

3. Untuk melakukan integrasi Bootstrap pada Laravel project kita akan menggunakan

plugin laravel/ui (https://github.com/laravel/ui).

4. Laravel ui adalah plugin yang dibangun di atas Framework Boostrap

5. Install plugin laravel/ui, Gunakan versi 3.0.0

composer require laravel/ui 3.0.0

a. Jika anda mengalami error seperti ini:

“Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to

allocate 4096 bytes)”

b. Kita perlu men-setting environment variable COMPOSER_MEMORY_LIMIT=-1,

sehingga command yang dijalankan menjadi seperti ini (Linux/Mac):

COMPOSER_MEMORY_LIMIT=-1 composer require laravel/ui 3.0.0

c. Selesai

6. Install Bootstrap menggunakan laravel/ui

php artisan ui bootstrap

7. Sebagai tambahan kita perlu meng-install ui controller

php artisan ui:controllers

8. Selesai

9. Selesai

Compiling Assets Menggunakan Mix/Webpack

1. Untuk bisa menggunakan Mix, kita membutuhkan file package.json pada root folder

laravel project. File package.json ini sama dengan file composer.json, tapi digunakan

untuk frontend.

2. Secara default Laravel sudah membuat file package.json pada root project. Untuk

instalasi plugin-plugin yang dibutuhkan di package.json, jalankan command dibawah ini.

npm install

3. Setelah berhasil melakukan instalasi, makan ada ada folder node_modules dan

package-lock.json pada root folder.

4. Pada file package.json kita lihat bagian scripts. Setiap key pada bagian key, bisa

dijalankan sebagai command. Contoh:

npm run dev

5. Untuk melakukan compiling assets, jalankan command dibawah ini

npm run dev

6. Apabila berhasil compiling dengan benar, maka pada public folder akan dibuatkan

public/css/app.css dan public/js/app.js

7. Sekarang kita tambahkan assets pada video. Buka file

resources/views/layouts/app.blade.php, tambahkan code pada line 12 dan 13.

8. Pada browser buka halaman http://localhost:8000/posts, css bootstrap akan ke load,

sehingga tampilannya menjadi seperti ini

Sebelum

Sesudah

9. Selesai

Versioning Assets

1. Secara default browser akan melakukan cache pada file .css dan .js, jadi kalau kita ada

perubahan pada file app.css dan app.js, ada kemungkinan browser tidak melakukan

load ulang karena sudah ada di cache.

2. Oleh karena itu di production kita harus selalu menambahkan url yang berbeda untuk file

app.css dan app.js, biasanya dengan menambahkan parameter id, contoh

app.css?id=xyz

app.js?id=xyz

3. Dengan menggunakan laravel mix kita tidak perlu melakukannya dengan manual, mix

sudah menyediakan helper dan configuration untuk implementasi versioning assets.

4. Versioning assets ini kita jalan pada production mode.

5. Buka file webpack.mix.js, tambahkan code di bawah ini. Line 17 - 19.

6. Compiling ulang assets dengan menjalankan command di bawah ini:

npm run prod

7. Buka file resources/views/layouts/app.blade.php, ubah code dari asses() helper menjadi

mix() helper. Line 12 dan 13

8. Pada halaman http://localhost:8000/post, inspect element dan lihat pada bagian <head>.

Parameter id akan selalu berubah ketika kita menjalankan command npm run prod. Ini

memastikan browser untuk meload ulang asset yang baru di compile.

http://localhost:8000/css/app.css?id=6c1de578c1b881653f12

http://localhost:8000/js/app.js?id=28100491929b3b5260f8

9. Selesai

Styling Layout Menggunakan Bootstrap

1. Buka file resources/views/layouts/app.blade.php, pada bagian body ubah menjadi

seperti ini

2. Pada halaman http://localhost:8000/post

3. Selesai

Styling Form Menggunakan Bootstrap

1. Buka file resources/views/posts/partials/form.blade.php, ubah menjadi seperti ini

2. Pada halaman http://localhost:8000/posts/create

3. Selesai

Styling Post List Menggunakan Bootstrap

1. Buka file resources/views/posts//index.blade.php, ubah menjadi seperti ini

2. Buat file resources/views/posts/partials/post.blade.php, ubah menjadi seperti ini

3. Pada halaman http://localhost:8000/posts

4. Selesai

Styling Single Post Menggunakan Bootstrap

1. Buka file resources/views/posts//show.blade.php, ubah menjadi seperti ini

2. Pada halaman http://localhost:8000/post/1

3. Selesai

Styling Flash Message Menggunakan Bootstrap

1. Buka file resources/views/layouts/app.blade.php, perhatikan line 27 - 31

2. Coba membuat post baru sampai success pada halaman

http://localhost:8000/posts/create, maka tampilan flash message nya menjadi seperti ini

3. Selesai

Styling Error Message Menggunakan Bootstrap

1. Buka file resources/views/posts/partials/form.blade.php, perhatikan line 5 - 7 dan line 12

- 20.

2. Coba membuat post baru yang gagal validasi pada halaman

http://localhost:8000/posts/create, maka tampilan error message nya menjadi seperti ini

3. Selesai

Comments

Popular posts from this blog

Konsep estetika gambar pada desain

Cloud Infrastructure Mechanism