9 個(gè)超實(shí)用的 JavaScript 原生插件工具

英文 | https://javascript.plainenglish.io/9-best-vanilla-javascript-utilities-libraries-ff752592dfb5
翻譯 | 楊小二
1、cypress

Cypress允許你創(chuàng)建可以與單擊按鈕交互的測(cè)試,填寫表格,這個(gè)很好地支持定期更新。 唯一的缺點(diǎn)是你會(huì)發(fā)現(xiàn)Cypress的學(xué)習(xí)曲線有點(diǎn)寬,因?yàn)樗枰恍r(shí)間,這取決于你之前測(cè)試JavaScript應(yīng)用程序的知識(shí)。 此外,另一個(gè)主要問題是它目前不支持Safari。
2、 rollup

Rollup是一個(gè)模塊打包器,它使用標(biāo)準(zhǔn)化的 ES 模塊格式進(jìn)行代碼,而不是以前的解決方案,例如CommonJS & AMD。 它可以輕松優(yōu)化ES模塊以在現(xiàn)代瀏覽器中更快地本地加載,并放置允許ES 模塊工作流的遺留模塊格式。 由于支持tree shaking,它是一個(gè)很棒的模塊打包器,雖然不像Parcel或Webpack那樣出名,但它仍然隨著響應(yīng)式更新而增長(zhǎng)。
3、day.js

在JavaScript 中,你最有可能使用日期和時(shí)間庫(kù)構(gòu)建應(yīng)用程序,而days.js是Moment.js的絕佳替代品。因?yàn)樗p巧并且具有所有相同的 API。 文檔也很棒,新開發(fā)人員可以在更短的時(shí)間內(nèi)輕松適應(yīng)day.js。
4、 immer

非常輕量級(jí)的包(5KB),有助于處理React應(yīng)用程序中的不可變狀態(tài),我們只需要通過不干擾原始狀態(tài)來更改虛擬狀態(tài),然后,一旦所有更改完成,它就會(huì)推送下一個(gè)狀態(tài)。 它的樣板代碼很少,因此你的代碼看起來更簡(jiǎn)潔,結(jié)構(gòu)更簡(jiǎn)潔。
5、jsdoc

如果你需要記錄你的個(gè)人功能,那么jsdoc是一個(gè)很好的工具。生成的文件非常基礎(chǔ),用于文檔目的,你可以在短時(shí)間內(nèi)擁有自己的功能文檔。 該文檔對(duì)于新開發(fā)人員來說也很棒且易于使用,并且在開始使用jsdoc時(shí)不需要太多經(jīng)驗(yàn)。 特別是如果你在團(tuán)隊(duì)中工作,它會(huì)提高你工作流程的整體生產(chǎn)力,因?yàn)槟阋呀?jīng)定義了自己的功能。
6、ramda

Ramda強(qiáng)調(diào)更純粹的函數(shù)風(fēng)格,不變性和無副作用的函數(shù)是其設(shè)計(jì)理念的核心,幫助你用簡(jiǎn)潔優(yōu)雅的代碼完成工作。 這些函數(shù)是自動(dòng)柯里化的,這使你不提供最終參數(shù)即可從舊函數(shù)構(gòu)建新函數(shù)。 唯一的缺點(diǎn)是它可能很快變得不可讀,因此建議避免鏈接太多函數(shù)。
7、 p-limit

如果你想限制 JavaScript 中的 promise 或同時(shí)阻止來自服務(wù)器的所有請(qǐng)求調(diào)用,那么這個(gè)庫(kù)適合你。
8、Akita

在開始之前你需要知道RxJS風(fēng)格的observables以及基本的TypeScript語(yǔ)法。 如果你正在使用 Angular 應(yīng)用程序,建議使用 Akita,因?yàn)榕cngrx和ngxs相比,它更容易。
9、js-cookie

這個(gè)庫(kù)使代碼在處理 cookie 時(shí)更加清晰和可用,你可以使用一個(gè)簡(jiǎn)單的 API 來管理 cookie,其中包括開發(fā)人員需要的一切。
學(xué)習(xí)更多技能
請(qǐng)點(diǎn)擊下方公眾號(hào)

評(píng)論
圖片
表情
