Apa itu Anggaran CLI Angular?
Anggaran adalah salah satu fitur CLI Angular yang kurang dikenal. Ini agak kecil tapi fitur yang sangat rapi!
Saat aplikasi tumbuh dalam fungsionalitas, mereka juga tumbuh dalam ukuran. Anggaran adalah fitur di CLI Angular yang memungkinkan Anda untuk menetapkan ambang anggaran dalam konfigurasi Anda untuk memastikan bagian dari aplikasi Anda tetap dalam batas yang Anda tetapkan - Dokumentasi Resmi
Atau dengan kata lain, kita dapat mendeskripsikan aplikasi Angular kita sebagai sekumpulan file JavaScript yang dikompilasi yang disebut bundel yang dihasilkan oleh proses build. Anggaran sudut memungkinkan kami mengonfigurasi ukuran yang diharapkan dari paket ini. Lebih dari itu, kita dapat mengonfigurasi ambang batas untuk kondisi ketika kita ingin menerima peringatan atau bahkan gagal membangun dengan kesalahan jika ukuran bundel terlalu di luar kendali!
Bagaimana Menentukan Anggaran?
Anggaran sudut ditentukan dalam file angular.json. Anggaran ditentukan per proyek yang masuk akal karena setiap aplikasi di ruang kerja memiliki kebutuhan yang berbeda.
Berpikir secara pragmatis, masuk akal untuk menentukan anggaran untuk build produksi. Prod build membuat paket dengan "ukuran sebenarnya" setelah menerapkan semua pengoptimalan seperti pengocokan pohon dan minimisasi kode.
Ups, kesalahan versi! Ukuran paket maksimum telah terlampaui. Ini adalah sinyal bagus yang memberi tahu kami bahwa ada yang tidak beres…
- Kami mungkin telah bereksperimen dalam fitur kami dan tidak membersihkan dengan benar
- Perkakas kami bisa salah dan melakukan impor otomatis yang buruk, atau kami memilih item yang buruk dari daftar impor yang disarankan
- Kami mungkin mengimpor barang dari modul malas di lokasi yang tidak tepat
- Fitur baru kami sangat besar dan tidak sesuai dengan anggaran yang ada
Pendekatan Pertama: Apakah file Anda di-gzip?
Secara umum, file gzip hanya berukuran sekitar 20% dari ukuran file aslinya, yang secara drastis dapat menurunkan waktu muat awal aplikasi Anda. Untuk memeriksa apakah Anda telah meng-gzip file Anda, cukup buka tab jaringan konsol pengembang. Di "Header Respons", jika Anda melihat "Pengodean Konten: gzip", Anda dapat melakukannya.
Bagaimana cara melakukan gzip?
Jika Anda menghosting aplikasi Angular Anda di sebagian besar platform cloud atau CDN, Anda tidak perlu khawatir tentang masalah ini karena mereka mungkin telah menangani ini untuk Anda. Namun, jika Anda memiliki server sendiri (seperti NodeJS + expressJS) yang melayani aplikasi Angular Anda, pastikan untuk memeriksa apakah file di-gzip. Berikut ini adalah contoh untuk meng-gzip aset statis Anda di aplikasi NodeJS + expressJS. Anda tidak dapat membayangkan “kompresi” middleware sederhana yang mati ini akan mengurangi ukuran bundel Anda dari 2,21MB menjadi 495,13KB.
const compression = require('compression')
const express = require('express')
const app = express()
app.use(compression())
Pendekatan Kedua :: Analisis bundel Angular Anda
Jika ukuran bundel Anda menjadi terlalu besar, Anda mungkin ingin menganalisis bundel Anda karena Anda mungkin telah menggunakan paket pihak ketiga berukuran besar yang tidak sesuai atau Anda lupa menghapus beberapa paket jika Anda tidak menggunakannya lagi. Webpack memiliki fitur luar biasa untuk memberi kita gambaran visual tentang komposisi bundel webpack.
Sangat mudah untuk mendapatkan grafik ini.
npm install -g webpack-bundle-analyzer
- Di aplikasi Angular Anda, jalankan
ng build --stats-json
(jangan gunakan bendera --prod
). Dengan mengaktifkan --stats-json
Anda akan mendapatkan stats.json file tambahan
- Terakhir, jalankan
webpack-bundle-analyzer ./dist/stats.json
dan browser Anda akan memunculkan halaman di localhost: 8888. Bersenang-senanglah dengannya.
ref 1: Bagaimana Anggaran CLI Angular Menyelamatkan Hari Saya Dan Bagaimana Mereka Dapat Menyelamatkan Hari Anda
ref 2: Optimalkan ukuran bundel Angular dalam 4 langkah