Secuestrando esta conversación porque me gustaría señalar una herramienta que ayuda a reclamar espacio libre de su máquina. Aparentemente node_modulesocupo cajeros automáticos 21bg en mi máquina; npkillpuede ayudarlo a hacer eso [ingrese la descripción de la imagen aquí ] ( i.stack.imgur.com/BKbyU.png )
Ahmad Alfy
Respuestas:
181
Lo que probablemente quiera medir es el impacto que tiene un paquete si lo agrega a su paquete de aplicaciones. La mayoría de las otras respuestas solo estimarán el tamaño de los archivos de origen, que pueden ser inexactos debido a comentarios en línea, nombres largos de var, etc.
Hice una pequeña utilidad que le dirá el tamaño min + gzipped del paquete después de que entre en su paquete:
Un poco exagerado, necesita reinstalar todos sus módulos antes del cálculo. Pero hace el trabajo.
pdem
77
no use este paquete: crea una carpeta de artefactos llamada nodemodules.bak que crea efectos secundarios feos
Nth.gol
22
Creé una herramienta, npm download size , que inspecciona el tamaño del tarball para un paquete npm dado, que incluye todos los tarballs en el árbol de dependencias. Esto le da una idea del costo (tiempo de instalación, espacio en disco, recursos de tiempo de ejecución, auditoría de seguridad, ...) de agregar la dependencia por adelantado.
En la imagen de arriba, el tamaño del tarball es tar.gz del paquete, y el tamaño total es el tamaño de todos los tarballs. La herramienta es bastante básica, pero hace lo que dice.
Una herramienta cli también está disponible. Puedes instalarlo así:
Creé Package Phobia a principios de este año con la esperanza de obtener la información del tamaño del paquete en npmjs.com y también rastrear la hinchazón del paquete con el tiempo.
Esto está diseñado para medir el espacio en disco después de ejecutar npm installdependencias del lado del servidor expresso dependencias de desarrollo como jest.
El "Tamaño desempaquetado" (básicamente Tamaño de publicación) está disponible en el sitio web npmjs.com junto con "Archivos totales". Sin embargo, esto no es un significado recursivo que npm installprobablemente sea mucho más grande porque un solo paquete probablemente depende de muchos paquetes (por lo tanto, Package Phobia sigue siendo relevante).
También hay un RFC pendiente para una función que imprime esta información desde la CLI.
Esto es genial, pero ¿por qué sus resultados difieren tan marcadamente de la faringe? por ejemplo, compare los resultados de lodash.lowerfirst
Danyal Aytekin el
2
@DanyalAytekin Porque están midiendo cosas diferentes. Respuesta corta: si está buscando un paquete front-end, use BundlePhobia. Si está buscando un paquete de back-end, use PackagePhobia. Hay más detalles en el archivo Léame si está interesado.
styfle
16
En caso de que esté utilizando webpack como paquete de módulos, eche un vistazo a:
Definitivamente recomiendo la primera opción. Muestra el tamaño en el mapa de árbol interactivo. Esto le ayuda a encontrar el tamaño del paquete en su archivo incluido.
Las otras respuestas en esta publicación muestran el tamaño del proyecto, pero es posible que no esté utilizando todas las partes del proyecto, por ejemplo, con sacudidas de árboles. Otros enfoques podrían no mostrarle el tamaño exacto.
Si usa Visual Studio Code, puede usar una extensión llamada Import Cost .
Esta extensión mostrará en línea en el editor el tamaño del paquete importado. La extensión utiliza webpack con babili-webpack-plugin para detectar el tamaño importado.
Esta extensión no funciona para todos los paquetes. Muestra Calculando ... y luego desaparece repentinamente incluso después de cambiar el valor de tiempo de espera a un número muy grande
shreyansh
2
Puede consultar npm-module-stats . Es un módulo npm que obtiene el tamaño de un módulo npm y sus dependencias sin instalar o descargar el módulo.
Uso:
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);
});
Puede parecer un poco detallado, pero resuelve el problema que describió adecuadamente.
node_modules
ocupo cajeros automáticos 21bg en mi máquina;npkill
puede ayudarlo a hacer eso [ingrese la descripción de la imagen aquí ] ( i.stack.imgur.com/BKbyU.png )Respuestas:
Lo que probablemente quiera medir es el impacto que tiene un paquete si lo agrega a su paquete de aplicaciones. La mayoría de las otras respuestas solo estimarán el tamaño de los archivos de origen, que pueden ser inexactos debido a comentarios en línea, nombres largos de var, etc.
Hice una pequeña utilidad que le dirá el tamaño min + gzipped del paquete después de que entre en su paquete:
https://bundlephobia.com
fuente
https://cost-of-modules.herokuapp.com
ahora dirige ahttps://bundlephobia.com
Una herramienta muy útil por cierto.Eche un vistazo a este proyecto de costo de módulos . Es un paquete npm que enumerará el tamaño de un paquete y la cantidad de hijos.
Instalación:
npm install -g cost-of-modules
Uso: Ejecútelo
cost-of-modules
en el directorio en el que está trabajando.fuente
Creé una herramienta, npm download size , que inspecciona el tamaño del tarball para un paquete npm dado, que incluye todos los tarballs en el árbol de dependencias. Esto le da una idea del costo (tiempo de instalación, espacio en disco, recursos de tiempo de ejecución, auditoría de seguridad, ...) de agregar la dependencia por adelantado.
En la imagen de arriba, el tamaño del tarball es tar.gz del paquete, y el tamaño total es el tamaño de todos los tarballs. La herramienta es bastante básica, pero hace lo que dice.
Una herramienta cli también está disponible. Puedes instalarlo así:
Y úsalo así:
El código fuente está disponible en Github: api , herramienta cli y cliente web .
fuente
Creé Package Phobia a principios de este año con la esperanza de obtener la información del tamaño del paquete en npmjs.com y también rastrear la hinchazón del paquete con el tiempo.
https://packagephobia.com
Esto está diseñado para medir el espacio en disco después de ejecutar
npm install
dependencias del lado del servidorexpress
o dependencias de desarrollo comojest
.Puede leer más sobre esta herramienta y otras herramientas similares en el archivo Léame aquí: https://github.com/styfle/packagephobia
Actualización 2020
El "Tamaño desempaquetado" (básicamente Tamaño de publicación) está disponible en el sitio web npmjs.com junto con "Archivos totales". Sin embargo, esto no es un significado recursivo que
npm install
probablemente sea mucho más grande porque un solo paquete probablemente depende de muchos paquetes (por lo tanto, Package Phobia sigue siendo relevante).También hay un RFC pendiente para una función que imprime esta información desde la CLI.
fuente
En caso de que esté utilizando webpack como paquete de módulos, eche un vistazo a:
Definitivamente recomiendo la primera opción. Muestra el tamaño en el mapa de árbol interactivo. Esto le ayuda a encontrar el tamaño del paquete en su archivo incluido.
Las otras respuestas en esta publicación muestran el tamaño del proyecto, pero es posible que no esté utilizando todas las partes del proyecto, por ejemplo, con sacudidas de árboles. Otros enfoques podrían no mostrarle el tamaño exacto.
fuente
Intenta usar el tamaño del paquete .
https://github.com/egoist/package-size
fuente
Si usa Visual Studio Code, puede usar una extensión llamada Import Cost .
fuente
Puede consultar npm-module-stats . Es un módulo npm que obtiene el tamaño de un módulo npm y sus dependencias sin instalar o descargar el módulo.
Uso:
Puede parecer un poco detallado, pero resuelve el problema que describió adecuadamente.
fuente
Una forma "rápida y sucia" es usar curl y wzrd.in para descargar rápidamente el paquete minimizado y luego seleccionar el tamaño del archivo:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
La descarga se minimiza pero no se comprime, pero tiene una buena idea del tamaño relativo de los paquetes cuando compara dos o más de ellos.
fuente
curl -i https://unpkg.com/[email protected]/dist/axios.min.js | grep Content-Length
howfat es una herramienta más que puede mostrar el tamaño total del paquete:
fuente