Когда я ищу пакеты в NPM, я хотел бы видеть размеры пакетов (в КБ или МБ и т.д.). NPM, похоже, не показывает эту информацию.
Как я могу определить, какое количество пакета NPM будет добавлено в мой проект?
Когда я ищу пакеты в NPM, я хотел бы видеть размеры пакетов (в КБ или МБ и т.д.). NPM, похоже, не показывает эту информацию.
Как я могу определить, какое количество пакета NPM будет добавлено в мой проект?
То, что вы, вероятно, хотите измерить, это влияние пакета, если вы добавите его в свой пакет приложений. В большинстве других ответов будет оцениваться только размер исходных файлов, который может быть неточным из-за встроенных комментариев, длинных имен переменных и т.д.
Я сделал небольшую утилиту, которая сообщит вам минимальный + gzip-размер пакета после того, как он попадет в ваш пакет -
Взгляните на этот проект cost-of-modules. Это пакет npm, в котором будет указан размер пакета и количество детей.
Установка:
npm install -g cost-of-modules
Использование:
Запустите cost-of-modules в каталоге, в котором вы работаете.
Я создал инструмент, размер загрузки npm, который проверяет размер тарбола для данного пакета npm, включая все тарболы в дереве зависимостей.
На изображении выше размер Tarball - это tar.gz пакета, а Total size - это размер всех tarballs. Инструмент довольно простой, но он делает то, что говорит.
Инструмент Cli также доступен. Вы можете установить его так:
npm i -g download-size
И используйте это так:
$ download-size request
[email protected]: 1.08 MiB
Вот демоверсия asciinema.
Исходный код доступен на Github: API, инструмент Cli и веб-клиент.
В начале этого года я создал Package Phobia с надеждой получить информацию о размере пакета на npmjs.com, а также отслеживать время распространения пакета.

Он предназначен для измерения дискового пространства после запуска npm install для серверных зависимостей, таких как express или dev, таких как jest.
Вы можете прочитать больше об этом инструменте и других подобных инструментах в readme здесь: https://github.com/styfle/packagephobia
Примечание. Несмотря на то, что команда npm не пытается изменить веб-сайт, они рассматривают возможность добавления установленного размера в cli. См. RFC 1 для получения дополнительной информации.
В случае, если вы используете webpack в качестве вашего модуля модуля, взгляните на:
Я определенно рекомендую первый вариант. Показывает размер в интерактивной древовидной карте. Это поможет вам найти размер пакета в вашем файле.

Другие ответы в этом посте показывают вам размер проекта, но вы можете использовать не все части проекта, например, с дрожанием дерева. Тогда другие подходы могут не показать вам точный размер.
Попробуйте использовать размер пакета.
npx package-size vue,vue-router,vuex react,react-dom,react-router,redux
Если вы используете код Visual Studio, вы можете использовать расширение под названием " Стоимость импорта".
Это расширение будет отображать встроенный в редакторе размер импортируемого пакета. Расширение использует webpack с babili-webpack-plugin для определения импортированного размера.
Вы можете проверить npm-module-stats. Это модуль 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);
});
Это может показаться немного подробным, но оно решает проблему, которую вы описали соответствующим образом.
"Быстрый и грязный" способ - использовать завиток и wzrd.in, чтобы быстро загрузить уменьшенный пакет, а затем grep размер файла
curl -i https://wzrd.in/standalone/[email protected] | grep Content-Length
Загрузка миниатюра, но не gzipped, но вы получаете представление об относительном размере пакетов при сравнении двух или более из них.