当我在NPM上搜索包时,我想看到包的大小(KB或MB等)。NPM似乎没有显示这一信息。
我如何确定一个NPM包会给我的项目增加多少膨胀?
当我在NPM上搜索包时,我想看到包的大小(KB或MB等)。NPM似乎没有显示这一信息。
我如何确定一个NPM包会给我的项目增加多少膨胀?
当前回答
你可以查看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);
});
它可能看起来有点啰嗦,但它解决了您恰当描述的问题。
其他回答
在发布npm包之前,你可以使用下面的命令检查包的大小。
NPM发布——试运行
我已经附上了npm包的结果。
我创建bundlejs正是出于这个原因。Bundlejs被设计成一个快速且始终可访问的在线捆绑器,可以摇树,分析捆绑包,缩小,gzip & brotli捆绑包,给出压缩大小,并返回完全捆绑的代码,您可以在https://bundlejs.com查看它。
源代码可在GitHub上https://github.com/okikio/bundlejs获得
然而,如果你的目标只是检查包的npm安装大小,我强烈推荐https://packagephobia.com。我没有创建packagephobia,但当涉及到检查js包大小时,它是一个高质量的工具,涵盖了其他细分市场
看看这个模块成本项目。这是一个npm包,它会列出包的大小和子元素的数量。
安装: NPM install -g cost-of-modules
用法: 在您工作的目录中运行cost-of-modules。
如果你正在使用webpack作为你的模块绑定器,请看看:
webpack-bundle-analyzer webpack-bundle-size-analyzer
我强烈推荐第一种选择。它在交互式树状图中显示大小。这可以帮助您找到打包文件中的包的大小。
这篇文章中的其他答案向你展示了项目的规模,但你可能不会使用项目的所有部分,例如摇树。其他方法可能无法显示准确的大小。
Howfat是另一个显示总包装大小的工具:
npx howfat jasmine