Entri
Biarkan saya mulai. Kami memiliki frontend monolitik dengan warisan besar. Layanan hidup dalam file yang sama dengan komponen. Semuanya dicampuradukkan dengan slogan di fasad: "Biarkan semuanya ada di tangan - lebih mudah untuk menemukan apa yang Anda butuhkan." Dan tidak masalah bahwa panjang file adalah 200+, 300+, 500+ atau bahkan lebih banyak baris kode.
Tujuan
Jadikan semuanya lebih mudah dibaca, lebih kecil dan lebih cepat.
Implementasi
Memisahkan segala sesuatu yang mungkin menjadi file dan peluru emas di sini adalah prinsip tanggung jawab tunggal. Jika kita memiliki komponen dan fungsi murni di dalam file, kita akan memisahkannya.
Dengan munculnya ES6 +, menjadi mungkin untuk menggunakan impor ... dari sintaks - ini adalah fitur yang hebat, karena kita juga dapat menggunakan ekspor ... dari .
Refactoring
Bayangkan file dengan struktur ini:
Kami dapat membagi kode ini menjadi file dengan cara ini:
Struktur:
utils multiply.js sum.js calculateSomethingSpecial.js
dan file:
Sekarang kita dapat mengimpor fungsi secara individual. Tetapi dengan garis tambahan dan nama-nama panjang ini di impor, masih terlihat mengerikan.
Tetapi untuk ini kami memiliki fitur luar biasa yang muncul dengan munculnya sintaks JS baru, yang disebut re-ekspor (re-ekspor). Dalam folder tersebut, kita perlu membuat file index.js untuk menggabungkan semua fungsi kita. Dan sekarang kita dapat menulis ulang kode kita dengan cara ini:
Sedikit podshamanim App.js:
Selesai
Pengujian.
Sekarang mari kita periksa bagaimana kompilasi Webpack kami membangun untuk produksi. Mari kita buat aplikasi Bereaksi kecil untuk menguji cara kerjanya. Kami akan memeriksa apakah kami hanya mengunduh apa yang kami butuhkan, atau semua yang ditunjukkan dalam index.js dari folder utils .
Aplikasi:
Versi produksi aplikasi:
Seperti yang Anda lihat di atas, kami hanya memuat fungsi penjumlahan dari utils .
Mari kita periksa lagi, dan kali ini kita akan menggunakan multiply .
Aplikasi:
Versi produksi aplikasi:
Di sini kita bahkan tidak melihat fungsi-fungsi di dalam kode, karena Webpack mengkompilasi nilai kita bahkan sebelum penyebaran.
Tes akhir
Jadi, mari kita jalankan tes akhir kami dan gunakan semua fitur sekaligus untuk melihat apakah semuanya berfungsi.
Aplikasi:
Versi produksi aplikasi:
Hebat! Semuanya berfungsi seperti yang diharapkan. Anda dapat mencoba langkah apa pun hanya dengan menggunakan tautan ke kode dan kotak , dan Anda selalu dapat menggunakan langsung untuk menjaring dari sana.
Kesimpulan
Gunakan pemisahan kode menjadi bagian-bagian yang lebih kecil, cobalah untuk menyingkirkan file, fungsi, komponen yang terlalu rumit. Anda akan membantu masa depan Anda sendiri dan tim Anda. File yang lebih kecil lebih cepat dibaca, lebih mudah dipahami, lebih mudah dirawat, lebih cepat dikompilasi, lebih mudah di-cache, lebih cepat diunduh, dll.
Terima kasih sudah membaca! Kode bersih dan refactoring lezat!