Коли я шукаю пакети в NPM, я хотів би побачити розміри пакетів (у КБ або МБ тощо). NPM, схоже, не показує цю інформацію.
Як я можу визначити, скільки потужності пакету NPM додасть до мого проекту?
Коли я шукаю пакети в NPM, я хотів би побачити розміри пакетів (у КБ або МБ тощо). NPM, схоже, не показує цю інформацію.
Як я можу визначити, скільки потужності пакету NPM додасть до мого проекту?
Відповіді:
Ви, напевно, хочете виміряти - це вплив, який має пакет, якщо ви додали його до своєї програми. Більшість інших відповідей визначають лише розмір вихідних файлів, який може бути неточним через вбудовані коментарі, довгі імена var тощо.
Я створив невеличку утиліту, яка розповість вам мінімальний + gzipped розмір пакета після того, як він потрапить у вас в комплекті -
https://cost-of-modules.herokuapp.comтепер спрямовується на https://bundlephobia.com дуже корисний інструмент btw.
Погляньте на цей проект вартості модулів . Це пакет npm, який перелічить розмір пакета та кількість дітей.
Установка:
npm install -g cost-of-modules
Використання: запустіть cost-of-modulesу каталозі, в якому ви працюєте.
Я створив інструмент, розмір завантаження npm , який перевіряє розмір тарболу для заданого пакету npm, включаючи всі тарболи в дереві залежностей. Це дає уявлення про вартість (час встановлення, дисковий простір, ресурси часу виконання, аудит безпеки, ...) додавання залежності наперед.
На зображенні вище розмір Tarball - це tar.gz упаковки, а загальний розмір - розмір усіх тарболів. Інструмент досить базовий, але він робить те, що говорить.
Клі інструмент також доступний. Ви можете встановити його так:
npm i -g download-size
І використовуйте його так:
$ download-size request
request@2.83.0: 1.08 MiB
Вихідний код доступний на Github: інструменті api , cli та веб-клієнті .
Я створив Packabia Phobia на початку цього року з надією отримати інформацію про розмір пакета на npmjs.com, а також відстежувати роздуття пакета з часом.
Це розроблено для вимірювання місця на диску після запуску npm installтаких залежностей на стороні сервера, як, наприклад, expressзалежності від розробника jest.
Детальніше про цей інструмент та інші подібні засоби ви можете прочитати тут: https://github.com/styfle/packagephobia
Оновлення 2020 року
"Розпакований розмір" (в основному розмір публікації) доступний на веб-сайті npmjs.com разом із "Загальними файлами". Однак це не рекурсивне значення, яке npm install, ймовірно, буде набагато більшим, оскільки один пакунок, ймовірно, залежить від багатьох пакетів (таким чином, пакет Phobia все ще актуальний).
Також є RFC, що очікує на розгляд, для функції, яка друкує цю інформацію з CLI.
Якщо ви використовуєте webpack як постачальник модулів, перегляньте:
Я напевно рекомендую перший варіант. Він показує розмір в інтерактивній карті. Це допоможе вам знайти розмір пакета у пакетному файлі.

Інші відповіді в цій публікації показують вам розмір проекту, але, можливо, ви не використовуєте всі частини проекту, наприклад, при струшуванні дерева. Інші підходи тоді можуть не показувати точний розмір.
Спробуйте використовувати розмір упаковки .
npx package-size vue,vue-router,vuex react,react-dom,react-router,redux
Якщо ви використовуєте код Visual Studio, ви можете використовувати розширення під назвою Import Cost .
Це розширення відобразить в редакторі вбудований розмір імпортованого пакету. Розширення використовує webpack з babili-webpack-плагіном, щоб виявити імпортований розмір.
Ви можете перевірити статистику npm-module . Це модуль npm, який набуває розміру npm-модуля та його залежностей, не встановлюючи і не завантажуючи модуль.
Використання:
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);
});
Це може здатися трохи дослідним, але це вирішує проблему, яку ви описали належним чином.
"Швидкий і брудний" спосіб - використовувати curl і wzrd.in для швидкого завантаження мінімізованого пакету, а потім перетягнути розмір файлу:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
Завантаження мінімізоване, але не gzipped, але ви добре розумієте відносний розмір пакунків, порівнюючи два чи більше з них.
node_modulesзаймають atm 21bg на моїй машині;npkillя можу допомогти вам у цьому ! [введіть опис зображення тут ] ( i.stack.imgur.com/BKbyU.png )