日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
選擇 npm 包時(shí)避免踩坑的五條建議

這里為大家介紹 五 條建議。

創(chuàng)新互聯(lián)是專業(yè)的青州網(wǎng)站建設(shè)公司,青州接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行青州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1. 檢查開(kāi)源許可證(License)

開(kāi)源許可證是一種法律許可。通過(guò)它,版權(quán)擁有人明確允許,用戶可以免費(fèi)地使用、修改、共享版權(quán)軟件。

版權(quán)法默認(rèn)禁止共享,也就是說(shuō),沒(méi)有許可證的軟件,就等同于保留版權(quán),雖然開(kāi)源了,用戶只能看看源碼,不能用,一用就會(huì)侵犯版權(quán)。所以軟件開(kāi)源的話,必須明確地授予用戶開(kāi)源許可證。

可以在 NPM 平臺(tái)上查看包的 License

License 通常分兩大類:"CopyLeft( 著佐權(quán) )" 和 "Permissive( 寬松式 )":

  • CopyLeft:如果你使用了這個(gè)包,那么你的代碼也必須開(kāi)源。這對(duì)一些商業(yè)化的項(xiàng)目不太友好,比如 GPL 和 LGPL 協(xié)議。
  • Permissive:對(duì)包做了最低限度的使用限制,允許閉源,可以說(shuō)幾乎沒(méi)有限制,但是各自又有一些區(qū)別,具體見(jiàn)下圖。

我們可以用 license-checker [1] 工具來(lái)一次性檢查項(xiàng)目中的 NPM 包是否都是合規(guī)的。

2. 看貢獻(xiàn)頻率和下載量

NPM 平臺(tái)也可以查看包的每周下載量和趨勢(shì)圖,數(shù)字越大意味著使用的人越多。

由于社區(qū)里有很多功能類似的包,比如 moment.js 和 dayjs 這類時(shí)間日期庫(kù)。 NPM trends [2] 可以同時(shí)比較多個(gè)包的下載量增長(zhǎng)趨勢(shì),從而更直觀地了解它們的受歡迎程度。

另外,GitHub 倉(cāng)庫(kù)的 stars、 forks、 commit frequency 和 contributors 等相關(guān)指標(biāo)也可以側(cè)面反映受歡迎程度。

3. 權(quán)衡包體積大小

對(duì)于前端來(lái)說(shuō),優(yōu)化性能最直接的手段就是 降低代碼包大小 。所以選擇第三方包時(shí),也要考慮它的包體積。

bundlephobia [3] 可以對(duì)包體積進(jìn)行可視化分析。從下圖可以看出, moment.js 打包后會(huì)有將近 300 kB,gzip 壓縮后會(huì)有 70kB。

而 dayjs 打包后只有 6 kB ,遠(yuǎn)小于 moment.js 。

對(duì)于像微信小程序這樣對(duì)代碼包大小有明確限制的項(xiàng)目來(lái)說(shuō),輕量級(jí)的 dayjs 是更好的選擇。

4. 是否有大型團(tuán)隊(duì)在進(jìn)行維護(hù)

盡管大部分的 NPM 包都包含較全的文檔,但是往往也都存在一些兼容性、JS 異常或性能相關(guān)的 issue。因此如果背后有大型團(tuán)隊(duì)在進(jìn)行維護(hù),我們使用起來(lái)會(huì)更放心。

可以關(guān)注以下幾個(gè)方面:

Used By 和 Contributors 數(shù)量

數(shù)量越多意味著你不是早期用戶,很多開(kāi)發(fā)者已經(jīng)幫你趟過(guò)水了。

Contributors 視圖

可以直觀地看到貢獻(xiàn)者的貢獻(xiàn)頻率,如果很多都頻繁貢獻(xiàn),意味著倉(cāng)庫(kù)受到社區(qū)更多的關(guān)注和支持。

Community Standards

將倉(cāng)庫(kù)與開(kāi)源社區(qū)的規(guī)范標(biāo)準(zhǔn)進(jìn)行比較,達(dá)到的標(biāo)準(zhǔn)越多意味著這個(gè)倉(cāng)庫(kù)越成熟。

5. 評(píng)估安全性

包安全性是選擇 NPM 包的另一個(gè)關(guān)鍵因素,在倉(cāng)庫(kù)的「 Security 」tab 下可以看到它的安全策略。

如果維護(hù)者已經(jīng)采取了措施來(lái)確保安全性,會(huì)顯示 已激活 。

對(duì)于項(xiàng)目中已有的 NPM 依賴,可以使用命令 npm audit 來(lái)進(jìn)行安全性檢查。

npmgraph [4] 能夠?qū)ΠM(jìn)行依賴可視化分析來(lái)確保沒(méi)有安全漏洞,然后再安裝到項(xiàng)目當(dāng)中。

總結(jié)

回顧一下選擇第三方 NPM 包的 5 條最佳實(shí)踐:

  • 檢查開(kāi)源許可證
  • 看貢獻(xiàn)頻率和下載量
  • 權(quán)衡包體積大小
  • 是否有大型開(kāi)發(fā)團(tuán)隊(duì)在進(jìn)行維護(hù)
  • 評(píng)估安全性

在做選擇時(shí),我們最好能根據(jù)以上維度產(chǎn)出一份調(diào)研文檔,并在團(tuán)隊(duì)內(nèi)分享和討論,最終得出一致的結(jié)論。


當(dāng)前題目:選擇 npm 包時(shí)避免踩坑的五條建議
URL標(biāo)題:http://www.dlmjj.cn/article/dhcjgcg.html