大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12

本文来自V同学投稿的源码共读第六期笔记,写得很有趣。现在已经进行到第十期了。你或许经常看见 npm 更新的提示

npm 更新提示

面试官可能也会问你,组件库更新了,怎么让使用组件的人都知道。本文分析这个提示的原理实现,很有趣。

1前言

Hello,大家好,这里是V同学

今天我们又来看源码了

今天若川大大没有写源码阅读的掘金文章

正好,可以让我们一试身手

考验一下我们之前跟随着川大的源码所锻炼的源码阅读能力

今天我们要看的是 update-notifier 的源码

老样子,在我们阅读源码之前,先分析一手,看看这个到底是干嘛用的吧

2分析

这个是我们本期源码阅读的代码仓库

大家可以先克隆下来,我们且慢慢分析

我们可以用5W1H分析法来试着去分析一下

5w1h

那么什么是5w1h呢,简单来说就是从

  • 原因(Why)

  • 对象(What)

  • 地点(Where)

  • 时间(When)

  • 人员(Who)

  • 方法(How)

这六个纬度去思考

那我们就一个一个来

What

首先,我们要来看看本期源码是什么

通过度娘,我们可以大致的了解到,我们本期要看的源码

似乎是一个和更新有关的工具,可以更新你的npm包和cli应用程序

我们在看一下仓库的readme

现在就非常的清晰明了了,这是一个以非入侵的方式通知你更新的这么一个工具

Why

那么我们为什么要读它的源码呢

有一下几点

1. 美化终端输出信息,描绘边框。
2. 我们可以学会怎么去开启子进程
3.  给一个node方法作为传参的几种方式
4.  通过configstore这个库我们能够持久化存储一些信息
5.  通过latest-version获取对应pkg包的最新版本信息

Who

谁应该去读他的源码

以下几类人适合去读他的源码,当然也适合来看看我的源码阅读的文章

1. 源码爱好者
2. 学习爱好者
3. 希望能学到东西的人
4. V同学的粉丝												

面试官问:怎么自动检测你使用的组件库有更新相关推荐

  1. 【264期】面试官问:Spring Boot 启动时自动执行代码方式有哪几种?解释一二!...

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 前言 目前 ...

  2. 面试官问:Kafka 会不会丢消息?怎么处理的?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Kafka存在丢消息的问题,消息丢失会发生在Broker, ...

  3. java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  4. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...

    文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...

  5. 面试官问:跨域请求如何携带cookie?

    大家好,我是若‍川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列 ...

  6. 面试阿里!妹子终面,阿里面试官问:有没有男朋友? 结果...

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 作者:  前线小熙  | 责编: 可可   来源 :开发者技术前线  刚好要到端午节前 ...

  7. 面试官问:select......for update会锁表还是锁行?

    欢迎关注方志朋的博客,回复"666"获面试宝典 select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁 ...

  8. 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...

  9. 面试官问:Integer 如何实现节约内存和提升性能的?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Byte_Liu 来源:https://urlify.cn/ ...

最新文章

  1. Galaxy Release (v 21.05),众多核心技术栈变更
  2. 阿里云查看mysql版本_查看mysql版本
  3. 矩阵元算法科学家谢翔: Rosetta如何连接隐私计算与AI?
  4. Storing XML in Relational Databases(2)
  5. springboot多数据源动态数据源(主从)
  6. (常用API)正则表达式语法规则
  7. 10分钟搭建完成人脸通行系统 百度『乘风』人脸智能化平台了解一下
  8. c语言第八章函数程序设计,C语言程序设计-第八章 函数.ppt
  9. Linux操作系统进程模型分析
  10. SAI 串行音频接口学习
  11. 魔兽世界怀旧服务器最新,魔兽世界怀旧服夏一可在哪个服务器 魔兽世界怀旧服夏一可去哪个区玩...
  12. [转]新建一个Android工程项目
  13. 网络安全-利用sniffer抓包软件,分析IP头的结构(详解)
  14. 玄武中专计算机动漫与游戏制作,正青春,不散场——玄武中专信息技术系举办2016级计算机动漫与游戏制作专业“3+3”学生毕业作品展开幕式...
  15. python读取pdf内容转word_【python】python实现PDF转word
  16. 文件上传漏洞利用介绍
  17. 转——解决游戏王DL的steam版锁区问题
  18. 小程序发布之后无法生成海报问题
  19. ArcGIS基础实验操作100例--实验76按格网统计点要素
  20. Ubuntu Linux 下安装 Minecraft 我的世界

热门文章

  1. Blender建模与游戏换装(转载文)
  2. 抽屉之Tornado实战(5)--点赞与评论树
  3. sulin Python3.6爬虫+Djiago2.0+Mysql --实例demo
  4. CentOS安装glibc-2.14
  5. castle windsor学习----- Services and Components 两者的定义
  6. Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析...
  7. 940mx黑苹果驱动_超详细黑苹果安装图文教程送EFI配置合集及系统
  8. 全国计算机等级考试题库二级C操作题100套(第72套)
  9. ppt倒计时_年终会议做一个这样的倒计时PPT,保证惊艳全场!1分钟就能学会
  10. linux最小安装桌面,Linux工作环境:CentOS7最小安装+Xfce桌面环境