从我开始接触node.js以来,最开始选择module都是通过别人推荐的文章或者去github中的trending中刚好发现好用的模块。对于npmjs.org仅能说一直只当它来查询一下模块有没有更新,它的Most depended-upon packages(前面部分)已经翻过不少次,但是一直前面的模块都是已经了解过的,一直没有想到好的方式来筛选一下module,自己无聊的时候不知道怎么打发,所以决定自己将npmjs.org的模块同步,自己做个筛选的网站
npmtrend.com/
简介
node.js大家都觉得很火,40多万的模块,github上3万多的star,这些都能说明大家对它的关注度很高。那怎么去衡量是不是热度在持续增长呢?趋势,我们需要关注的是增长的趋势,看下面两张图:
图一展示的是npm模块的总数,从图中可以看到,模块数量从一年前的28万增长到现在的46万,增长速度是很快,不过从曲线上也看出,增长率并没有很大的变化。而图二展示的是当天创建与更新的模块数,模块创建基本稳定,模块更新的数量有稳定上升的趋势(考虑到模块总数的增长,该数量的增长也算是正常范围)。更新与创建的最大值都是在2017-04-22那一周期中(7天),创建了1万多的模块,有4万多的模块发布了更新。
筛选
在npmjs.org中,由于一些模块的够简单,通用,一直以来都是热门模块,但是这些模块都是大家耳熟能详,express从我开始使用node.js 0.8的时候已经是大家使用较多的web framework,现在还是很火。诸如此类的模块,都是在一直排在前面,想自己慢慢去浏览发现新的模块还真的是很吃力。因此更多的排序,更多的筛选,则是我所希望的。
- 按下载排行(最新、7天、30天、90天)
- 按
depended的量排行(npmjs的api没有提供每天新增的depended量) - 按最新版本更新时间排序、筛选最近(1天、7天、30天、90天、180天、360天)更新的模块
- 按模块创建时间排序、筛选最近(1天、7天、30天、90天、180天、360天)
通过组合查询,我就可以得到一些热度的模块。
- 最近3个月内有更新,按下载排行(主要避免一些模块几年不更新,但是下载量很高)
- 最近3个月内创建,按下载排行(查找一些较新的模块,但感觉有些模块有虚假下载量)
- 按关键字查询
- 按作者查询(TJ大神)
模块比较
可以选择我们希望对比的模块,添加进对比列表,选择完成之后进行比较
- lodash vs undersocre
关注模块
对于我们常用的模块,添加到我的关注,可以实时获取其更新信息
后续我会继续收集各类的数据,提供更多的筛选方式给大家使用
注:每个模块的分数来自npms.io
Docker
docker build -t vicanso/npm-trend .
License
MIT