編輯器
- ace:Ace ,即 Ajax.org Cloud9 Editor。
- CodeMirror:一個(gè)瀏覽器端的代碼編輯器,用 JS 實(shí)現(xiàn)。
- esprima:用于多用途分析的 ECMAScript 解析器。
- quill:一個(gè)帶有 API 的跨瀏覽器富文本編輯器。
- medium-editor:Medium.com 使用的所見(jiàn)即所得編輯器的克隆版。
- pen:享受在線編輯(支持 markdown)。
- jquery-notebook:一個(gè)易用的、簡(jiǎn)潔優(yōu)雅的文本編輯器。靈感來(lái)源于 Medium。
- bootstrap-wysiwyg:小巧的、兼容 bootstrap 的所見(jiàn)即所得的富文本編輯器。
- ckeditor-releases:適用于每個(gè)人的 web 文本編輯器。
- editor:一個(gè) markdown 編輯器,但仍在開發(fā)中。
- EpicEditor:一個(gè)可嵌入的 JavaScript Markdown 的編輯器,擁有分屏編輯、即時(shí)預(yù)覽、自動(dòng)保存草稿和離線支持等功能。
- jsoneditor:查看、編輯和格式化 JSON 的 web 工具。
- vim.js:擁有持久化 ~/.vimrc 特性,支持 Vim 的 JavaScript 接口。
- Squire:一個(gè) HTML5 富文本編輯器。
- TinyMCE:一個(gè) JavaScript 富文本編輯器。
- trix:由 Basecamp 制作,適用于每天寫作的富文本編輯器。
- Trumbowyg:一款輕量且驚人的所見(jiàn)即所得 JavaScript 編輯器
- Draft.js:用于構(gòu)建文本編輯器的 React 框架。
- bootstrap-wysihtml5:一款簡(jiǎn)單漂亮的所見(jiàn)即所得編輯器。
- wysihtml5:基于 HTML5 ,漸進(jìn)增強(qiáng)的開源富文本編輯器,利用非常嚴(yán)苛的規(guī)則旨在生成符合 HTML5 規(guī)范的標(biāo)簽,避免生成非規(guī)范標(biāo)簽和同行樣式。
- raptor-editor:Raptor,一款 HTML5 所見(jiàn)即所得內(nèi)容編輯器!
- popline:Popline 是一款 HTML5 富文本工具欄。
- Summernote:一個(gè)極簡(jiǎn)的所見(jiàn)即所得編輯器。
文檔
- DevDocs:一款多合一接口文檔閱讀器,界面統(tǒng)一、高效、排版精良。
- dexy:一款格式自由且文藝的文檔工具,可用于編寫任何包含代碼的技術(shù)文檔。
- docco:一款快且臟、百來(lái)行、文藝范的文檔生成器,用 Literate CoffeeScript 實(shí)現(xiàn)。
- styledocco:根據(jù)樣式表生成風(fēng)格規(guī)范文檔。
- Ronn:構(gòu)建手冊(cè)。把對(duì)人類閱讀友好的簡(jiǎn)單文本文件轉(zhuǎn)換成 roff 格式文件,便于終端顯示,也可以轉(zhuǎn)換為 HTML ,便于 Web 端顯示。
- dox:一款 Node.js 開發(fā)的 JavaScript 文檔生成器。Dox 不會(huì)生成結(jié)構(gòu)樣式嚴(yán)苛的文檔,而是采用 JSON 表示法,以實(shí)現(xiàn) markdown 和 JSDoc 風(fēng)格標(biāo)簽。
- jsdox:一款將 JSDoc3 轉(zhuǎn)換成 markdown 的文檔生成器。
- ESDoc:一款為 JavaScript 設(shè)計(jì)的優(yōu)秀文檔生成器。
- YUIDoc:一款提取源碼注釋生成接口文檔的 Node.js 應(yīng)用,功能類似 Javadoc and Doxygen 。
- coddoc:一款 jsdoc 解析庫(kù)。Coddoc 與其他工具相比)的不同之處在于,它很容易擴(kuò)展,通過(guò) coddoc.addTagHandler 和 coddoc.addCodeHandler 來(lái)添加標(biāo)簽和代碼解析器。 Coddoc 還可以解析源碼生成接口文檔。
- sphinx:一款讓創(chuàng)建智能且漂亮文檔更加簡(jiǎn)單的工具。
- Using JSDoc
- Beautiful docs:一款 markdown 格式文檔閱讀器。
- documentation.js:支持 ES2015+ 和流注釋的接口文檔生成器。
- jsduck:為 Sencha JavaScript 框架開發(fā)的接口文檔生成器,當(dāng)然其他框架也能用。
- codecrumbs:一款用于學(xué)習(xí)和記錄代碼庫(kù)的可視化工具,通過(guò)在源碼中插入面包屑來(lái)實(shí)現(xiàn)功能。
文件
- Papa Parse:一款強(qiáng)大的 CSV 庫(kù),支持解析 CSV 文件/字符串,也能導(dǎo)出 CSV。
- jBinary:對(duì)用聲明式語(yǔ)法描述文件類型和數(shù)據(jù)結(jié)構(gòu)的二進(jìn)制文件,進(jìn)行高級(jí) I/O(加載、解析、操作、序列化、存儲(chǔ))操作。
- diff2html:git 差異輸出解析器,也是 HTML 美化器。
- jsPDF:一款 JavaScript PDF 文件生成器。
- PDF.js:一個(gè) JavaScript PDF 閱讀器,社區(qū)驅(qū)動(dòng),Mozilla 支持。
函數(shù)式編程
- underscore:JavaScript 的實(shí)用工具。
- lodash:提供一致性、可定制、高性能和額外功能的實(shí)用庫(kù)。
- Sugar:一個(gè)擴(kuò)展了原生對(duì)象功能的 JavaScript 庫(kù)。
-
lazy.js:類似
Underscore,但性能更優(yōu)越 - ramda:一個(gè)針對(duì) JavaScript 程序員的實(shí)用函數(shù)庫(kù)。
- mout:模塊化的 JavaScript 工具庫(kù)。
- mesh:流數(shù)據(jù)同步工具。
- preludejs:JavaScript 硬核函數(shù)式編程。
- rambda:Ramda 快速小巧的替代品。
響應(yīng)式編程
- RxJs:對(duì) JavaScript 進(jìn)行響應(yīng)式擴(kuò)展。
- Bacon:JavaScript 的 FPR(函數(shù)式響應(yīng)式編程)庫(kù)。
- Kefir:受 Bacon.js 和 RxJS 啟發(fā)的 FRP 庫(kù),專注于高性能和低內(nèi)存消耗。
- Highland:對(duì) JavaScript 實(shí)用工具的重新思考,Highland 能輕易地管理同步和異步信息,而且僅使用標(biāo)準(zhǔn) JavaScript 和類 Node 流。
- Most.js:高性能 FRP 庫(kù)。
- Cycle.js:一款用于可預(yù)測(cè)代碼的函數(shù)式和響應(yīng)式 JavaScript 框架。
- concent:絕對(duì)是 ?? 最簡(jiǎn)單卻 ?? 最強(qiáng)大的 react 狀態(tài)管理開發(fā)框架,可預(yù)測(cè)、漸進(jìn)式、高性能。
數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)庫(kù)用于構(gòu)建一個(gè)更復(fù)雜的應(yīng)用。
- immutable-js:不可變的數(shù)據(jù)集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。
- mori:使用 ClojureScript 持久化數(shù)據(jù)結(jié)構(gòu)和支持原生 JavaScript API 的庫(kù)。
- buckets:完整的、經(jīng)過(guò)充分測(cè)試和文檔完備的數(shù)據(jù)結(jié)構(gòu)的 JavaScript 庫(kù)。
- hashmap:簡(jiǎn)單的哈希映射實(shí)現(xiàn),支持任何類型的鍵值。
日期
日期庫(kù)。
- moment:解析、驗(yàn)證、操作和顯示日期。
- moment-timezone:基于 moment.js 的時(shí)區(qū)庫(kù)。
- jquery-timeago:一款支持自動(dòng)更新模糊時(shí)間戳的 jQuery 插件(如:"4 分鐘之前")。
- timezone-js:讓 JavaScript Date 對(duì)象擁有時(shí)區(qū)功能。使用 Olson zoneinfo 文件記錄時(shí)區(qū)數(shù)據(jù)。
- date:對(duì)人類友好的 Date()。
- ms.js:小巧的毫秒轉(zhuǎn)換工具。
- countdown.js:超小倒計(jì)時(shí)。
-
timeago.js:一個(gè)非常輕量級(jí)(~1.7 Kb)的用于將時(shí)間轉(zhuǎn)化成
xxx時(shí)間前格式的庫(kù)。 - fecha:輕量級(jí)日期格式化和解析庫(kù)(約 2kb)。可以用來(lái)替換 moment.js 格式化和解析日期功能(moment.js 體積比較大——譯者注)。
- date-fns:現(xiàn)代 JavaScript 日期功能庫(kù)。
- map-countdown:構(gòu)建在 Google 地圖上的瀏覽器倒計(jì)時(shí)。
- dayjs:Day.js 是一款擁有和 Moment.js 一樣的現(xiàn)代化接口的日期庫(kù),但它僅僅有 2kb 大小,可以用來(lái)替換 Moment.js。
字符串
- voca:一款超級(jí)好用的 JavaScript 字符串庫(kù)。
- selecting:一個(gè)允許你獲取用戶選定文本的庫(kù)。
- underscore.string:Underscore.js 的字符串操作擴(kuò)展。
- string.js:額外的 JavaScript 字符串方法。
- he:健壯的 HTML 實(shí)體編碼/解碼器。
- multiline:多行字符串。
- query-string:解析和字符串化 URL 查詢字符串。
- URI.js:URL 操作庫(kù)。
- jsurl:輕量的 URL 操作庫(kù)。
- sprintf.js:實(shí)現(xiàn)字符串格式化。
- url-pattern:比正則表達(dá)式匹配 url 或其它字符串更簡(jiǎn)單,字符串和數(shù)據(jù)可相互轉(zhuǎn)化。
- plexis:低保真、強(qiáng)大、社區(qū)驅(qū)動(dòng)的字符串操作庫(kù)。
數(shù)字
- Numeral-js:對(duì)數(shù)字進(jìn)行格式化和操作的庫(kù)。
- chance.js:JavaScript 隨機(jī)生成器,可以生成數(shù)字、字符串等。
- odometer:流暢的數(shù)字過(guò)渡效果。
- accounting.js:對(duì)數(shù)字、金錢、貨幣進(jìn)行格式化的輕量庫(kù),完全本地化和無(wú)依賴。
- money.js:一個(gè)小巧(1kb)的貨幣轉(zhuǎn)換庫(kù),適用于 web 和 nodeJS。
- Fraction.js:一個(gè)有理數(shù)庫(kù)。
- Complex.js:一個(gè)復(fù)數(shù)庫(kù)。
- Polynomial.js:一個(gè)多項(xiàng)式庫(kù)。
- Quaternion.js:一款適用于 JavaScript 的四元數(shù)操作庫(kù)。
存儲(chǔ)
- store.js:為所有瀏覽器封裝了 LocalStorage,而沒(méi)有使用 cookies 和 flash。隱秘地使用 localStorage、globalStorage 和用戶數(shù)據(jù)。
- localForage:改善后的離線存儲(chǔ)。其封裝了 IndexedDB、WebSQL 和 localStorage,擁有操作簡(jiǎn)單和強(qiáng)大的 API。
- jStorage:jStorage 是一個(gè)簡(jiǎn)單的鍵值對(duì)數(shù)據(jù)庫(kù),用于在瀏覽器端存儲(chǔ)數(shù)據(jù)。
- cross-storage:獲得權(quán)限后,能跨域名本地存儲(chǔ)。
- basket.js:用 localStorage 加載和緩存腳本的資源加載器。
- bag.js:可以緩存腳本和加載資源,與 basket.js 相似,但增加了鍵值對(duì)接口和對(duì) localStorage / websql / indexedDB 的支持。
- basil.js:智能的 JavaScript 數(shù)據(jù)持久層庫(kù)。
- jquery-cookie:輕量簡(jiǎn)單的、用于讀取、編輯和刪除 cookie 的 jQuery 插件。
- js-cookie:一款簡(jiǎn)單、輕量的 cookies 讀寫刪 jQuery 插件。
- Cookies:一個(gè)客戶端 Cookie 操作庫(kù)。
- DB.js:基于 Promise 的、封裝了 IndexedDB 的庫(kù)。
- lawnchair.js:簡(jiǎn)單的客戶端 JSON 存儲(chǔ)。
- sql.js:基于 Emscripten 將 SQLite 編譯成 JavaScript。
- crumbsjs:一款輕量級(jí)原生 ES6 cookies 和本地存儲(chǔ) JavaScript 庫(kù)。
- awesome-web-storage:你必須知道的所有客戶端存儲(chǔ)知識(shí)。
顏色
- randomColor:JavaScript 顏色生成器。
- chroma.js:擁有各種各樣顏色操作的 JavaScript 庫(kù)。
- color:JavaScript 顏色轉(zhuǎn)換和操作庫(kù)。
- colors:更智能的默認(rèn) web 顏色。
- PleaseJS:隨機(jī)創(chuàng)建出賞心悅目的顏色和配色方案的 JavaScript 庫(kù)。
- TinyColor:快速、輕巧的顏色操作和轉(zhuǎn)換庫(kù)。
- Vibrant.js:從圖像提取主要顏色。
國(guó)際化和本地化
- i18next:用 JavaScript 實(shí)現(xiàn)國(guó)際化(i18n)簡(jiǎn)單的方法。
- polyglot:小巧的國(guó)際化助手庫(kù)。
- babelfish:提供友好易懂 API 的 i18n 庫(kù),并且內(nèi)置多種支持。
- ttag:基于 ES6 標(biāo)簽?zāi)0搴蛢?yōu)秀的舊 GNU gettext ,新潮的 JavaScript 國(guó)際化、本地化庫(kù)。
控制流
- async:適用于 node.js 和瀏覽器的異步工具庫(kù)。
- q:實(shí)現(xiàn)異步 promise 的 JavaScript 工具。
- step:一款可以使邏輯執(zhí)行更簡(jiǎn)單的異步控制流庫(kù)。
- contra:函數(shù)式風(fēng)格實(shí)現(xiàn)的異步流控制。
- Bluebird:功能齊全的 promoise 庫(kù),專注于功能革新和性能提升。
- when:快速可靠的、Promises/A+ 規(guī)范的 when() 實(shí)現(xiàn),而且擁有其它異步操作的優(yōu)秀特性。
- ObjectEventTarget:為普通對(duì)象添加事件監(jiān)聽(tīng)原型(就如瀏覽器 DOMElement 的 EventTarget 一樣)。
- sporadic:位于 promise 頂部的組合并發(fā)抽象(就像流、協(xié)程和類似 Go channels 一樣),支持 Node.js 和瀏覽器引擎。
路由
- director:一個(gè)小巧的、與 URL 同構(gòu)的路由。
- page.js:受 Express router 啟發(fā)的小型客戶端路由器(約為1200字節(jié))。
- pathjs:簡(jiǎn)單、輕量的 web 路由。
- crossroads:JavaScript 路由。
- davis.js:基于 pushState 可降級(jí) RESTful 風(fēng)格的 JavaScript 路由。
- navaid:一款瀏覽器端的導(dǎo)航輔助系統(tǒng)(也可以成為路由),體積才 850 字節(jié)!
安全性
- DOMPurify:針對(duì) HTML、MathML 和 SVG 的僅支持 DOM 的超快速、高容錯(cuò)的 XSS 過(guò)濾器。
- js-xss:通過(guò)白名單配置,即可過(guò)濾不信任的 HTML(防止 XSS 攻擊)。
- xss-filters:Yahoo 出品的安全 XSS 過(guò)濾器。
日志
- log:帶樣式的 Console.log。
- Conzole:對(duì) JavaScript 原生 console 對(duì)象方法和功能進(jìn)行封裝的 debug 面板,并將面板顯示在頁(yè)面內(nèi)。
- console.log-wrapper:將日志清晰地記錄到 console,兼容所有瀏覽器。
- loglevel:最輕量的 JavaScript 日志記錄工具庫(kù),向封裝后的 console.log 方法增加可靠的日志等級(jí)。
- minilog:輕量的、流式 API 顯示的、可用于客戶端和服務(wù)器端的日志記錄庫(kù)。
- storyboard:通用日志庫(kù) + Chrome 擴(kuò)展。提供一個(gè)單一入口查看包含客戶端和服務(wù)端的任務(wù)觸發(fā)日志。
正則表達(dá)式
- RegEx101:在線的 JavaScript 正則表達(dá)式測(cè)試器和調(diào)試器。同時(shí)也支持 Python、PHP 和 PCRE。
- RegExr:用于創(chuàng)建、測(cè)試和學(xué)習(xí)正則表達(dá)式的 HTML/JS 工具。
語(yǔ)音命令
- annyang:向網(wǎng)站添加語(yǔ)音命令的語(yǔ)音識(shí)別庫(kù)。
- voix.js:向網(wǎng)站、app 或游戲添加語(yǔ)音命令的 JavaScript 庫(kù)。
API
- axios:基于 Promise 的 HTTP 客戶端,適用于 Node.js 和 瀏覽器。
- bottleneck:強(qiáng)大的速度限制器,使調(diào)節(jié)流量變得更容易。
- oauth-signature-js:適用于 node 和 瀏覽器的 OAuth 1.0a 簽名生成器。
- amygdala:為 Web 應(yīng)用提供 RESTful HTTP 客戶端解決方案。
- jquery.rest:一個(gè)讓 RESTful API 更易用的 jQuery 插件。
- Rails Ranger:為 Ruby Tails 接口設(shè)計(jì)的嚴(yán)格的 REST 客戶端。
- wretch:一款小巧的直覺(jué)語(yǔ)法系 fetch 功能封裝包。
- FarFetch:簡(jiǎn)單易用的現(xiàn)代 Fetch 接口封裝,簡(jiǎn)化了文件上傳。
- Optic:Optic 用于對(duì) API 自動(dòng)測(cè)試和文檔生成。
- SWR:用于遠(yuǎn)端數(shù)據(jù)拉取的 React Hooks 庫(kù)。
流媒體
- Tailor:適用于前端微服務(wù)的流媒體布局服務(wù),靈感來(lái)自 Facebook BigPipe。
視覺(jué)檢測(cè)
- tracking.js:在 web 上實(shí)現(xiàn)計(jì)算視覺(jué)的一種現(xiàn)代方法。
- ocrad.js:基于 Emscripten 的 JavaScript OCR 實(shí)現(xiàn)。
機(jī)器學(xué)習(xí)
- ConvNetJS:JavaScript 深度學(xué)習(xí)。在瀏覽器環(huán)境訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)(或者普通神經(jīng)網(wǎng)絡(luò))。
- DN2A:數(shù)字神經(jīng)網(wǎng)絡(luò)架構(gòu)。
- Brain.js:JavaScript 神經(jīng)網(wǎng)絡(luò)。
- Mind.js:一款靈活的神經(jīng)網(wǎng)絡(luò)庫(kù)。
- Synaptic.js:適用于 Node.js 和瀏覽器的無(wú)架構(gòu)神經(jīng)網(wǎng)絡(luò)庫(kù)。
- TensorFlow.js:一款用于在 瀏覽器和 Node.js 中訓(xùn)練和部署 ML 模型的 JavaScript 庫(kù)。
- ml5.js:友好的 Web 端機(jī)器學(xué)習(xí)庫(kù)。
- Synapses:輕量級(jí)跨平臺(tái)神經(jīng)網(wǎng)絡(luò)庫(kù)。
瀏覽器檢測(cè)
- bowser:一個(gè)瀏覽器檢測(cè)器,特點(diǎn)是小巧快速且 API 豐富。
基準(zhǔn)測(cè)試
- benchmark.js:jsPerf.com 使用的基準(zhǔn)測(cè)試庫(kù)。
- matcha:一款咖啡因驅(qū)動(dòng)的基準(zhǔn)測(cè)試簡(jiǎn)單實(shí)現(xiàn)。
動(dòng)畫
- velocity:加速 JavaScript 動(dòng)畫。
- jquery.transit:擁有超級(jí)流暢的 CSS3 變換和過(guò)渡效果的 jQuery 插件。
- impess.js:在 HTML 文檔里,運(yùn)用 CSS3 變換和過(guò)渡制作類似 Prezi 的展現(xiàn)效果。
- bounce.js:可以立刻創(chuàng)建有趣的 CSS3 動(dòng)畫。
- GreenSock-JS:適用于所有主流瀏覽器的高性能 HTML5 動(dòng)畫。
- TransitionEnd:TransitionEnd 是一個(gè)運(yùn)用 transitonend 事件的、跨瀏覽器的庫(kù)。
- Dynamics.js:用于創(chuàng)建符合物理運(yùn)動(dòng)規(guī)律的 CSS 動(dòng)畫庫(kù)。
- the-cube:The Cube 是一個(gè) CSS3 過(guò)渡效果實(shí)驗(yàn)。
- Effeckt.css:一款高性能過(guò)渡動(dòng)畫庫(kù)。
- animate.css:要多易用有多易用的跨瀏覽器 CSS 動(dòng)畫庫(kù)。
- textillate:適用于 CSS3 文本動(dòng)畫的簡(jiǎn)單插件。
- move.js:基于 CSS3 的 JavaScript 動(dòng)畫框架。
- animatable:一個(gè)屬性,兩個(gè)值,無(wú)窮個(gè)可能性。
- shuffle-images:簡(jiǎn)單有創(chuàng)意地打亂圖片。Just a moment...
- smoothState.js:免打擾式頁(yè)面過(guò)渡 jQuery 庫(kù)。http://smoothstate.com/
- Anime.js:一款 JavaScript 動(dòng)畫引擎。anime.js
- particles.js:用于創(chuàng)建粒子的輕量 JavaScript 庫(kù)。
- tsParticles:particles.js 全新升級(jí)版本,修復(fù)了 bug ,增加許多新功能。
- particles-bg:一款輕量的粒子運(yùn)動(dòng)動(dòng)畫背景 React 組件。