Ketika saya mencari paket di NPM, saya ingin melihat ukuran paket (dalam KB atau MB, dll). NPM sepertinya tidak menunjukkan informasi ini.
Bagaimana saya bisa menentukan berapa banyak mengasapi paket NPM yang akan ditambahkan ke proyek saya?
Ketika saya mencari paket di NPM, saya ingin melihat ukuran paket (dalam KB atau MB, dll). NPM sepertinya tidak menunjukkan informasi ini.
Bagaimana saya bisa menentukan berapa banyak mengasapi paket NPM yang akan ditambahkan ke proyek saya?
Jawaban:
Apa yang mungkin ingin Anda ukur adalah dampak suatu paket jika Anda ingin menambahkannya ke bundel aplikasi Anda. Sebagian besar jawaban lain akan memperkirakan ukuran file sumber saja, yang mungkin tidak akurat karena komentar sebaris, nama var panjang dll.
Ada utilitas kecil yang saya buat yang akan memberi tahu Anda ukuran min + gzipped paket setelah masuk ke bundel Anda -
https://cost-of-modules.herokuapp.com
sekarang mengarah ke https://bundlephobia.com
alat yang sangat berguna btw.
Lihatlah proyek modul biaya ini. Ini adalah paket npm yang akan mencantumkan ukuran paket dan jumlah anak.
Instalasi:
npm install -g cost-of-modules
Penggunaan: Jalankan cost-of-modules
di direktori tempat Anda bekerja.
Saya telah membuat alat, ukuran unduhan npm , yang memeriksa ukuran tarball untuk paket npm yang diberikan, termasuk semua tarbal di pohon dependensi. Ini memberi Anda gambaran tentang biaya (waktu instalasi, ruang disk, sumber daya runtime, audit keamanan, ...) untuk menambahkan dependensi di muka.
Pada gambar di atas, ukuran Tarball adalah tar.gz dari paket, dan Ukuran total adalah ukuran semua tarball. Alat ini cukup mendasar, tetapi melakukan apa yang dikatakannya.
Sebuah alat cli juga tersedia. Anda dapat menginstalnya seperti ini:
npm i -g download-size
Dan gunakan seperti ini:
$ download-size request
request@2.83.0: 1.08 MiB
Kode sumber tersedia di Github: api , cli tool dan klien web .
Saya membuat Paket Phobia awal tahun ini dengan harapan untuk mendapatkan informasi ukuran paket ke npmjs.com dan juga melacak paket mengasapi dari waktu ke waktu.
Ini dirancang untuk mengukur ruang disk setelah Anda menjalankan npm install
untuk dependensi sisi server seperti express
atau dev dependensi suka jest
.
Anda dapat membaca lebih lanjut tentang alat ini dan alat serupa lainnya di readme di sini: https://github.com/styfle/packagephobia
Perbarui 2020
"Ukuran Tidak Dibongkar" (pada dasarnya Ukuran Terbit) tersedia di situs web npmjs.com bersama dengan "Total File". Namun, ini bukan makna rekursif yang npm install
kemungkinan akan jauh lebih besar karena satu paket cenderung tergantung pada banyak paket (sehingga Paket Phobia masih relevan).
Ada juga RFC yang tertunda untuk fitur yang mencetak informasi ini dari CLI.
Jika Anda menggunakan webpack sebagai bundler modul Anda lihat:
Saya merekomendasikan opsi pertama. Ini menunjukkan ukuran dalam treemap interaktif. Ini membantu Anda menemukan ukuran paket dalam file yang Anda bundel.
Jawaban lain dalam posting ini menunjukkan ukuran proyek Anda, tetapi Anda mungkin tidak menggunakan semua bagian proyek, misalnya dengan pohon goyang. Maka pendekatan lain mungkin tidak menunjukkan ukuran yang akurat.
Coba gunakan ukuran paket .
npx package-size vue,vue-router,vuex react,react-dom,react-router,redux
Jika Anda menggunakan Visual Studio Code, Anda bisa menggunakan ekstensi yang disebut Biaya Impor .
Ekstensi ini akan menampilkan inline di editor ukuran paket yang diimpor. Ekstensi ini menggunakan webpack dengan babili-webpack-plugin untuk mendeteksi ukuran yang diimpor.
Anda bisa melihat npm-module-stats . Ini adalah modul npm yang mendapatkan ukuran modul npm dan dependensinya tanpa menginstal atau mengunduh modul.
Pemakaian:
var stats = require("npm-module-stats");
stats.getStats("glob").then((stack) => {
let dependencies = Object.keys(stack);
let totalSize = dependencies.reduce((result, key, index) => {
return result + stack[key].size;
}, 0);
console.log('Total Size in Bytes ', totalSize);
console.log('Total Dependencies ', dependencies.length-1);
}).catch((err) => {
console.error(err);
});
Ini mungkin tampak sedikit bertele-tele tetapi itu memecahkan masalah yang Anda uraikan dengan tepat.
Cara "cepat & kotor" adalah dengan menggunakan curl dan wzrd.in untuk mengunduh paket yang diperkecil dengan cepat dan kemudian mengambil ukuran file:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
Unduhan diperkecil tetapi tidak di-gzip, tetapi Anda mendapatkan ide bagus tentang ukuran relatif paket ketika Anda membandingkan dua atau lebih dari itu.
howfat adalah satu lagi alat yang dapat menunjukkan ukuran paket total:
npx howfat jasmine
node_modules
menempati atm 21bg di mesin saya;npkill
dapat membantu Anda melakukannya ! [masukkan deskripsi gambar di sini ] ( i.stack.imgur.com/BKbyU.png )