Seqüestrar esta conversa porque gostaria de apontar para uma ferramenta que ajuda a reivindicar espaço livre da sua máquina. Aparentemente, node_modulesocupe atm 21bg na minha máquina; npkillpode ajudá-lo a fazer isso ! [insira a descrição da imagem aqui ] ( i.stack.imgur.com/BKbyU.png )
Ahmad Alfy
Respostas:
181
O que você provavelmente deseja avaliar é o impacto que um pacote tem para adicioná-lo ao pacote de aplicativos. A maioria das outras respostas estimará apenas o tamanho dos arquivos de origem, que podem ser imprecisos devido a comentários embutidos, nomes longos de var etc.
Há um pequeno utilitário que eu criei que informa o tamanho min + gzipped do pacote depois que ele entra no seu pacote -
Um pouco exagerado, ele precisa reinstalar todos os seus módulos antes do cálculo. Mas faz o trabalho.
Pdem 3/11
7
não use este pacote - ele cria uma pasta artefato chamado nodemodules.bak que cria efeitos colaterais feios
Nth.gol
22
Criei uma ferramenta, tamanho do download npm , que inspeciona o tamanho do tarball para um determinado pacote npm, incluindo todos os tarballs na árvore de dependência. Isso fornece uma idéia do custo (tempo de instalação, espaço em disco, recursos de tempo de execução, auditoria de segurança, ...) da adição da dependência antecipadamente.
Na imagem acima, o tamanho do Tarball é tar.gz do pacote e o tamanho total é o tamanho de todos os tarballs. A ferramenta é bastante básica, mas faz o que diz.
Uma ferramenta CLI também está disponível. Você pode instalá-lo assim:
Criei o Package Phobia no início deste ano com a esperança de obter as informações sobre o tamanho do pacote no npmjs.com e também acompanhar o inchaço do pacote ao longo do tempo.
Isso foi desenvolvido para medir o espaço em disco após a execução npm installde dependências do lado do servidor, como expressdependências do dev jest.
O "Tamanho descompactado" (basicamente tamanho de publicação) está disponível no site npmjs.com, juntamente com o "Total de arquivos". No entanto, esse não é um significado recursivo que npm installprovavelmente será muito maior porque um único pacote provavelmente depende de muitos pacotes (portanto, o Package Phobia ainda é relevante).
Há também um RFC pendente para um recurso que imprime essas informações a partir da CLI.
Isso é ótimo, mas por que seus resultados diferem tão acentuadamente da bundlephobia? por exemplo, compare os resultados para lodash.lowerfirst #
Danyal Aytekin 25/10/18
2
@DanyalAytekin Porque eles estão medindo coisas diferentes. Resposta curta: se você estiver procurando um pacote front-end, use BundlePhobia. Se você estiver procurando por um pacote de back-end, use PackagePhobia. Há mais detalhes no leia-me se você estiver interessado.
styfle
16
Caso você esteja usando o webpack como seu bundler de módulo, consulte:
Definitivamente, recomendo a primeira opção. Ele mostra o tamanho no mapa da árvore interativo. Isso ajuda você a encontrar o tamanho do pacote no seu arquivo em pacote.
As outras respostas nesta postagem mostram o tamanho do projeto, mas você pode não estar usando todas as partes do projeto, por exemplo, com trepidação de árvores. Outras abordagens podem não mostrar o tamanho exato.
Se você usar o Código do Visual Studio, poderá usar uma extensão chamada Custo de Importação .
Esta extensão exibirá em linha no editor o tamanho do pacote importado. A extensão utiliza o webpack com o babili-webpack-plugin para detectar o tamanho importado.
Esta extensão não funciona para todos os pacotes. Ele mostra Calculating ... e, de repente, desaparece mesmo depois de alterar o valor do tempo limite para um número muito grande
shreyansh 23/01
2
Você pode conferir o npm-module-stats . É um módulo npm que obtém o tamanho de um módulo npm e suas dependências sem instalar ou fazer download do 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);
});
Pode parecer um pouco detalhado, mas resolve o problema que você descreveu adequadamente.
node_modules
ocupe atm 21bg na minha máquina;npkill
pode ajudá-lo a fazer isso ! [insira a descrição da imagem aqui ] ( i.stack.imgur.com/BKbyU.png )Respostas:
O que você provavelmente deseja avaliar é o impacto que um pacote tem para adicioná-lo ao pacote de aplicativos. A maioria das outras respostas estimará apenas o tamanho dos arquivos de origem, que podem ser imprecisos devido a comentários embutidos, nomes longos de var etc.
Há um pequeno utilitário que eu criei que informa o tamanho min + gzipped do pacote depois que ele entra no seu pacote -
https://bundlephobia.com
fonte
https://cost-of-modules.herokuapp.com
agora direciona parahttps://bundlephobia.com
Uma ferramenta muito útil entre.Dê uma olhada neste projeto de custo de módulos . É um pacote npm que lista o tamanho de um pacote e o número de filhos.
Instalação:
npm install -g cost-of-modules
Uso: Execute
cost-of-modules
no diretório em que você está trabalhando.fonte
Criei uma ferramenta, tamanho do download npm , que inspeciona o tamanho do tarball para um determinado pacote npm, incluindo todos os tarballs na árvore de dependência. Isso fornece uma idéia do custo (tempo de instalação, espaço em disco, recursos de tempo de execução, auditoria de segurança, ...) da adição da dependência antecipadamente.
Na imagem acima, o tamanho do Tarball é tar.gz do pacote e o tamanho total é o tamanho de todos os tarballs. A ferramenta é bastante básica, mas faz o que diz.
Uma ferramenta CLI também está disponível. Você pode instalá-lo assim:
E use-o assim:
O código fonte está disponível no Github: api , cli tool e web client .
fonte
Criei o Package Phobia no início deste ano com a esperança de obter as informações sobre o tamanho do pacote no npmjs.com e também acompanhar o inchaço do pacote ao longo do tempo.
https://packagephobia.com
Isso foi desenvolvido para medir o espaço em disco após a execução
npm install
de dependências do lado do servidor, comoexpress
dependências do devjest
.Você pode ler mais sobre esta ferramenta e outras ferramentas semelhantes no leia-me aqui: https://github.com/styfle/packagephobia
Atualização 2020
O "Tamanho descompactado" (basicamente tamanho de publicação) está disponível no site npmjs.com, juntamente com o "Total de arquivos". No entanto, esse não é um significado recursivo que
npm install
provavelmente será muito maior porque um único pacote provavelmente depende de muitos pacotes (portanto, o Package Phobia ainda é relevante).Há também um RFC pendente para um recurso que imprime essas informações a partir da CLI.
fonte
Caso você esteja usando o webpack como seu bundler de módulo, consulte:
Definitivamente, recomendo a primeira opção. Ele mostra o tamanho no mapa da árvore interativo. Isso ajuda você a encontrar o tamanho do pacote no seu arquivo em pacote.
As outras respostas nesta postagem mostram o tamanho do projeto, mas você pode não estar usando todas as partes do projeto, por exemplo, com trepidação de árvores. Outras abordagens podem não mostrar o tamanho exato.
fonte
Tente usar o tamanho do pacote .
https://github.com/egoist/package-size
fonte
Se você usar o Código do Visual Studio, poderá usar uma extensão chamada Custo de Importação .
fonte
Você pode conferir o npm-module-stats . É um módulo npm que obtém o tamanho de um módulo npm e suas dependências sem instalar ou fazer download do módulo.
Uso:
Pode parecer um pouco detalhado, mas resolve o problema que você descreveu adequadamente.
fonte
Uma maneira "rápida e suja" é usar curl e wzrd.in para baixar rapidamente o pacote minificado e depois cumprimentar o tamanho do arquivo:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
O download é reduzido, mas não compactado, mas você tem uma boa idéia do tamanho relativo dos pacotes quando compara dois ou mais deles.
fonte
curl -i https://unpkg.com/[email protected]/dist/axios.min.js | grep Content-Length
howfat é mais uma ferramenta que pode mostrar o tamanho total do pacote:
fonte