當前位置: 妍妍網 > 碼農

以後安裝 NPM 包,可不能隨便安裝了!

2024-02-18碼農

模擬面試、簡歷指導、入職指導、計畫指導、答疑解惑 可私信找我~已幫助100+名同學完成改造!

前言


大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~

平時我們在寫程式碼的時候,有時候有一些功能比較難實作,或者市面上已經有現成的庫,那麽我相信很多人會毫不猶豫地去安裝這個包,並投入到開發中去使用~

但是其實這樣是不對的,為了保證計畫的 健壯性、可維護性、永續性 ,建議大家在安裝一個包的時候,一定要先經過一定的 評估 ,並且這個 評估 是多方面的,分別是:

  • 特性是啥

  • 穩定性如何

  • 效能如何

  • 生態、社群、文件

  • 學習成本高不高

  • 相容性怎麽樣

  • 趨勢如何

  • 了解庫的特性

    第一點肯定是要了解你所安裝的包有哪些特性,是否真的符合你的計畫需要,就比如我用 Vue 來開發頁面,是因為使用它的響應式來開發頁面非常方便,分離了檢視層和數據層,程式碼可維護性更高

    或者比如 lodash 這樣的的工具庫,完全就是為了每一個計畫而生的,使用率非常高

    在選庫的時候一定要了解庫的特性,了解一下: 這個庫是否能完美解決你的需求?這個庫是否功能過剩?如果功能過剩的話是否需要換另一個更簡潔的庫?

    庫的穩定性如何?

    一個庫的穩定性是非常重要的,這也關系到你計畫的穩定性,你總不會想要給你的計畫埋一顆定時炸彈吧?

    一個經常出 BUG 的庫是不能出現在生產環境的,所以選了一個庫之後,最好能好好調研下這個庫的穩定性,多測試測試

    庫的效能怎麽樣?

    為什麽大佬們選庫的時候都會選體積更小的庫呢?或者支不支持 tree-shaking 呢?那是因為體積越小,說明頁面執行的速度更快。

    你覺得這個庫很牛逼,但是用了它,頁面載入多了 5s ,那這個庫就是垃圾,需要馬上換掉,這就不是一個符合你們計畫的庫

    生態如何?

    一個庫的生態包括很多方面:

  • 文件齊不齊全: 文件是這個庫的說明書,所以文件是很重要的,這決定了你能不能最大發揮這個庫的功能

  • 社群活不活躍: 社群活不活躍,決定了在使用這個庫的時候可以少踩一些坑,因為社群活躍說明你的坑,很多人都踩過了

  • 對應的周邊庫多不多: 就比如 Vue 配套了 router、vuex、pinia 等等,讓你在使用這個庫的時候,能更好地、按需地,去拓展你想要的計畫需求

  • 學習成本

    使用一個庫,學習成本可太重要了,畢竟學習是需要時間的,而時間就是金錢啊

    我覺得有一句話挺有道理的: 開發一個庫的第一要素,就是要讓使用者能無腦地去使用

    拿 Vue 來舉例子,前端程式設計師,稍微有點基礎的,差不多幾天就能上手 Vue,並利用 Vue 去開發一些簡單的頁面,所以 Vue 的學習成本是很低的,這也是它能爆火的原因

    反觀 JSX 又很多人覺得用起來不夠無腦,維護起來也麻煩,所以很多計畫都放棄使用 JSX

    所以在調研的時候,一定要看這個庫的上手難易程度如何,在某些場景最好是能做到 無縫銜接

    相容性怎麽樣?

    先不說庫了,就是你在使用一個 JavaScript 或者 CSS 的 API 時,你也得上 MDN 查查這個 API 的相容性如何

    而 NPM 庫 肯定底層是依賴 JavaScript、CSS 的,所以這些庫肯定也是有相容性問題的

    比如 Vue 就不相容 IE,因為很多比較新的 JavaScript API 都不相容 IE 瀏覽器,所以也導致了 Vue 不相容 IE 瀏覽器

    所以在用一個庫的時候一定要調研一下相容性,或者說能不能透過某些措施,讓這個庫具備比較好的相容性

    結語

    我是林三心

  • 一個待過 小型toG型外包公司、大型外包公司、小公司、潛力型創業公司、大公司 的作死型前端選手;

  • 一個偏前端的全幹工程師;

  • 一個不正經的金塊作者;

  • 逗比的B站up主;

  • 不帥的小紅書博主;

  • 喜歡打鐵的籃球菜鳥;

  • 喜歡歷史的乏味少年;

  • 喜歡rap的五音不全弱雞如果你想一起學習前端,一起摸魚,一起研究簡歷最佳化,一起研究面試進步,一起交流歷史音樂籃球rap,可以來俺的摸魚學習群哈哈,點這個,有7000多名前端小夥伴在等著一起學習哦 -->

  • 廣州的兄弟可以約飯哦,或者約球~我負責打鐵,你負責進球,謝謝~