V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Haixiang
V2EX  ›  分享创造

一天学习一个轮子,十天后变成轮子哥

  •  1
     
  •   Haixiang ·
    haixiangyan · 2021-04-28 21:22:31 +08:00 · 3845 次点击
    这是一个创建于 1339 天前的主题,其中的信息可能已经有所发展或是发生改变。

    链接: https://github.com/Haixiang6123/one-day-one-npm-lib

    最近发现自己一直在画页面,画完一个又画下一个,对自己提升并不大,游戏也慢慢不好玩了。

    一个月前的一天,我坐在电脑前盯着 package.json 发呆,突然想到平时我们天天在用的库我们根本没管过里面是怎么实现的,都是 npm install 就直接用了,就算知道实现的大概但也没真正看过源码。所以我点进了 react-errorboundary 这个库的源码看,看着看着就到了 12 点,看完后觉得有种神清气爽的感觉。

    然后我陷入了沉思:看这种小库的源码其实并不难,只要耐心看下去谁都能看懂,网上也有很多看源码教程,但是就是没多少人去研究一下。后来的得出的结论是因为

    1. 有“看源码恐惧症”,当然我以前也是,总是觉得自己还没到达看源码的地步,水平还不够
    2. 网上的文章太关注源码了本身了,上来直接甩代码开始一通解释,忽略了一个实事实:所有今天看到的源码也是通过解决一个一个的 Issue 和实现一个一个的 feature 才慢慢优化得来的

    所以每看一个 npm 轮子就写一篇文章,都从一个最简单的需求开始一步步去推演成源码的样子,一共写了 10 篇,分享给各位正在努力的前端伙伴~

    链接: https://github.com/Haixiang6123/one-day-one-npm-lib

    看完后可以忘掉所有这些轮子的实现与设计,但是希望这本“小书”可以给你一份“我自己一个人去阅读源码也没问题”的勇气,知道优秀的代码也是一步步写出来的,而不是洪水猛兽。

    写这本“小书”的时候也是晚上 10 点多左右,脑子也不是在性能最好的时候,所以如果发现一些讲得不好的地方多多包涵,请轻喷~ peace

    15 条回复    2021-05-01 13:38:56 +08:00
    TwoSetViolin
        1
    TwoSetViolin  
       2021-04-28 21:49:43 +08:00
    写得太好了,star 一个支持一下
    huijiewei
        2
    huijiewei  
       2021-04-28 22:29:29 +08:00
    顶一下

    可否用 Function Component 和 Hook 呢
    ReferenceE
        3
    ReferenceE  
       2021-04-28 22:33:39 +08:00 via Android
    泻药,10 天看一个模块都没看完的被折磨的人路过。不知道前端会不会简单一点
    wzzzx
        4
    wzzzx  
       2021-04-28 22:35:26 +08:00
    很棒啊这个项目
    Haixiang
        5
    Haixiang  
    OP
       2021-04-28 23:33:54 +08:00
    @TwoSetViolin 感谢!
    Haixiang
        6
    Haixiang  
    OP
       2021-04-28 23:34:49 +08:00
    @ReferenceE 希望这个项目可以带给你勇气,可以先从简单的模块开始看~
    Haixiang
        7
    Haixiang  
    OP
       2021-04-28 23:35:06 +08:00
    @wzzzx 感谢!嘻嘻
    enchilada2020
        8
    enchilada2020  
       2021-04-29 00:17:31 +08:00 via Android
    全部看完可以去腾讯吗(
    Haixiang
        9
    Haixiang  
    OP
       2021-04-29 01:58:52 +08:00
    @huijiewei 没太懂
    Haixiang
        10
    Haixiang  
    OP
       2021-04-29 01:59:01 +08:00
    @enchilada2020 来,哈哈
    xiayue
        11
    xiayue  
       2021-04-29 11:21:16 +08:00
    老哥厉害 ,最近在看 react 源码,一脸懵逼。。。
    Haixiang
        12
    Haixiang  
    OP
       2021-04-29 13:35:44 +08:00
    @xiayue 加油,共勉!
    hades97
        13
    hades97  
       2021-04-30 09:48:31 +08:00
    兄弟,readme 写错了,授人以鱼不如授人以渔
    changhaotian08
        14
    changhaotian08  
       2021-04-30 17:51:07 +08:00
    已收藏
    Haixiang
        15
    Haixiang  
    OP
       2021-05-01 13:38:56 +08:00
    @hades97 哈哈,我瞎了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   946 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.