javascript功能外掛程式大集合,寫前端的親們記得收藏

blank

javascript功能外掛程式大集合,寫前端的親們記得收藏

【導讀】:GitHub 上有一個 Awesome – XXX 系列的資源整理。 awesome-javascript 是 sorrycc 發起維護的 JS 資源清單,內容包括:包管理器、載入器、測試框架、運行器、QA、MVC框架和庫、範本引擎、數據可視化、時間軸、編輯器等等。
轉載自:微信小程式之家 / 原文位址:javascriptt功能外掛程式大集合,寫前端的親們記得收藏_微信小程式之家

伯樂在線已在 GitHub 上發起「JavaScript 資源大全中文版」的整理。 歡迎擴散、歡迎加入。

jobbole/awesome-javascript-cn

包管理員

管理著 JavaScript 庫,並提供讀取和打包它們的工具。

  • npm:npm 是 JAVAScript 的包管理器。 官網
  • Bower:一個 web 應用的包管理器。 官網
  • component:能構建更好 web 應用的用戶端包管理器。 官網
  • spm:全新的靜態包管理器。 官網
  • jam:一個專注於瀏覽器端和相容 RequireJS 的包管理器。 官網
  • jspm:流暢的瀏覽器包管理器。 官網
  • Ender:沒有庫檔的程式庫。 官網
  • volo:以專案範本、添加依賴項與自動化生成的方式創建前端專案。 官網
  • Duo:一個整合 Component、Browserify 和 Go 官網的最佳思想,使開發者能快速方便地組織和編寫前端代碼的下一代包管理

載入器

JavaScript 的模組或載入系統。

  • RequireJS:JavaScript 檔案和模組的載入器。 官網
  • browserify:在瀏覽器端以 node.js 的方式 require()。 官網
  • SeaJS:用於 Web 的模組載入器。 官網
  • HeadJS:HEAD 的唯一腳本。 官網
  • curl:小巧、快速且易擴展的模組載入器,它能處理 AMD、CommonJS Modules/1.1、CSS、HTML/text 和歷史腳本。 官網
  • lazyload:小巧且無依賴的非同步 JavaScript 和 CSS 載入器。 官網
  • script.js:非同步 JavaScript載入器和依賴管理器。 官網
  • systemjs:AMD、CJS(commonJS) 和符合 ES6 規範的模組載入器。 官網
  • LodJS:基於 AMD 的模組載入器。 官網
  • ESL:瀏覽器端的模組載入器,支援延遲定義和 AMD。 官網
  • modulejs:輕量的 JavaScript 模組系統。 官網

打包工具

  • browserify :Browserify 讓你能在瀏覽器端使用 require('modules') ,打包所有依賴。 官網
  • webpack:為瀏覽器打包 CommonJs/AMD 模組。 官網
  • gulp:用自動化構建工具增強你的工作流程! 官網

測試框架

框架

  • mocha:適用於 node.js 和瀏覽器、簡易、靈活、有趣的 JavaScript 測試框架。 官網
  • jasmine:簡單無 DOM 的 JAvaScript 測試框架。 官網
  • qunit:一個易於使用的 JavaScript 單元測試框架。 官網
  • jest:簡單的 JAVAScript 單元測試框架。 官網
  • prova:基於 Tape 和 Browserify 的測試執行器,它適用於 Node & 瀏覽器。 官網
  • DalekJS:自動化且跨瀏覽器的 JavaScript 功能測試框架。 官網

斷言

  • chai:適用於 node.js 和瀏覽器的 BDD / TDD 斷言框架,並能搭配其它測試框架使用。 官網
  • Sinon.JS:對 JAVAScript 進行 spies、stubs 和 mock 測試。 官網
  • expect.js:簡約的、適用於 Node.js 和瀏覽器端的 BDD 式斷言工具。 官網
  • should.js:適用於 Node.js 的 BDD 式斷言工具。 官網

覆蓋率

  • istanbul:另一個 JS 代碼覆蓋率檢測工具。 官網
  • blanket:一個簡單的代碼覆蓋率檢測庫。 它的設計理念是易於安裝和使用,且可用於瀏覽器端和 node.js。 官網
  • JSCover:JSCover 是一個檢測 JavaScript 程式代碼覆蓋率的工具。 官網

運行器

  • phantomjs:腳本化的 Headless WebKit。 官網
  • slimerjs:一個內核為 Gecko 的類似 PhantomJS 工具。 官網
  • casperjs:基於 PhantomJS 和 Slimer JS 的導航腳本和測試工具。 官網
  • zombie:基於 node.js 、快速、全棧且無圖形界面的瀏覽器的測試工具。 官網
  • totoro:一個簡單可靠且能跨瀏覽器運行的測試工具。 官網
  • karma:一個優秀的的 JavaScript 測試運行器。 官網
  • nightwatch:基於 node.js 和 selenium webdriver 的圖形介面自動化測試框架。 官網
  • intern:下一代 JavaScript 代碼測試棧。 官網
  • yolpo:在瀏覽器逐句執行的 JavaScript 解釋器。 官網

QA 工具

  • JSHint:JSHint 是一個有助於發現 JAvaScript 代碼錯誤和潛在問題的工具。 官網
  • jscs:JavaScript 代碼風格檢測工具。 官網
  • jsfmt:格式化、搜索和改寫 JAvaScript。 官網
  • jsinspect:檢測複製粘貼和結構類似的代碼。 官網
  • buddy.js:發現 JavaScript 代碼裡的 魔術數位官網
  • ESLint:完全外掛程式化的工具,能在 JAVAScript 中識別和記錄模式。 官網
  • JSLint :高標準、嚴格和固執的代碼品質工具,旨在只保持語言的優良部分。 官網

MVC 框架和庫

  • angular.js:為網路應用增強 HTML。 官網
  • aurelia:一個適用於行動裝置、桌面電腦和 web 的用戶端 JavaScript 框架。 官網
  • backbone:給你的 JS 應用加入帶有 Models、Views、Collections 和 Events 的 Backbone。 官網
  • batman.js:最適合 Rails 開發者的 JavaScript 框架。 官網
  • ember.js:一個旨在創建非凡 web 應用的 JavaScript 框架。 官網
  • meteor:一個超簡單的、資料庫無處不在的、只傳輸數據的純 JAvaScript web 框架。 官網
  • ractive:新一代 DOM 操作。 官網
  • vue:一個用於建構可交互介面的、直覺快速和可組合的MVVM框架。 官網
  • knockout:Knockout 用 JavaScript 讓創建回應式的富 UI 更加容易。 官網
  • spine:構建 JAvaScript 應用的輕量 MVC 庫。 官網
  • espresso.js:一個極小的、用於製作使用者介面的 JavaScript 庫。 官網
  • canjs:讓 JS 更好、更快、更簡單。 官網
  • react:用於建構用戶介面的庫。 它是聲明式的、高效的和極度靈活的,並使用虛擬 DOM 作為其不同的實現。 官網
  • react-native:一個用 React 構建原生應用的框架。 官網
  • riot:類 React 庫,但很輕量。 官網
  • thorax:加強你的 Backbone。 官網
  • chaplin:使用 Backbone.js 庫的 JavaScript 應用架構。 官網
  • marionette:一個 Backbone.js 的複合應用程式庫,旨在簡化大型 JavaScript 應用結構。 官網
  • ripple:一個小巧的、用於構建回應介面的基礎框架。 官網
  • rivets:輕巧卻擁有強大的資料繫結和樣本解決方案
  • derby:讓編寫即時和協同應用更簡單的 MVC 框架,能夠在 Node.js 和瀏覽器同時運行。 官網derby-awesome:很棒的 derby 元件集合。 官網
  • way.js:簡單、輕量、持久化的雙向數據綁定。 官網
  • mithril.js:Mithril 是一個用戶端 MVC 框架(輕巧、強大和快速)官網
  • jsblocks:jsblocks 是一個更好的 MV-ish 框架。 官網
  • LiquidLava:易懂的、用於構建用戶介面的 MVC 框架。 官網
  • Electron:用Html、CSS和JAvaScript構建跨平臺的用戶端應用程式。 官網GitHub

基於 Node 的 CMS 框架

  • KeystoneJS:強大的 CMS 和 web 應用框架。 官網
  • Reaction Commerce:擁有即時的架構和設計的回應式(reactive) CMS。 官網
  • Ghost:簡單、強大的發佈平臺。 官網
  • Apostrophe:提供內容編輯和基本服務的 CMS。 官網
  • We.js:適用於即時應用、網站或部落格的框架。 官網
  • Hatch.js:擁有社交特性的 CMS 平臺。 官網
  • TaracotJS:擁有快速、極簡風格特點且基於Node.js 的 CMS。 官網
  • Nodizecms:為 CoffeeScript 愛好者準備的 CMS。 官網
  • Cody:擁有所見即所得的編輯器的 CMS。 官網
  • PencilBlue:CMS 和部落格平臺。 官網

範本引擎

樣本引擎允許您執行字串插值。

  • mustache.js:是 JAVAScript 中帶有 {{mustaches}} 的最簡範本。 官網
  • handlebars.js:是 Mustache 範本語言的擴展。 官網
  • hogan.js:是 Mustache 範本語言的編譯器。 官網
  • doT:最快速簡潔的 JavaScript 範本引擎,適用於 nodejs 和瀏覽器。 官網
  • dustjs:適用於瀏覽器和 node.js 的非同步範本。 官網
  • eco:嵌入式的 CoffeeScript 範本。 官網
  • JavaScript-Templates:輕量(小於 1KB)、快速且無依賴的強大 JAvaScript 模版引擎。 官網
  • t.js:小巧的 JAvaScript 範本框架,壓縮後約為 400 位元組。 官網
  • Jade:健壯的、優雅且功能豐富的 nodejs 範本引擎。 官網
  • EJS:高效的 JAVAScript 範本。 官網
  • xtemplate:可擴充的範本引擎,適用於 node 和瀏覽器。 官網
  • marko:快速輕量且基於 HTML 的範本引擎,支援非同步、流、自訂標籤和 CommonJS 模編譯後輸出。 適用於 Node.js 官網和瀏覽器。

Flux

Flux是Facebook用來構建用戶端Web應用的應用架構

  • Reflux是根據React的flux創建的單向資料流類庫。 官網
  • Redux是可預測javascript應用程式狀態的容器。 官網

數據可視化

Web 資料可視化工具

  • d3:一個對 HTML 和 SVG 進行可視化的 JavaScript 庫。 官網
  • metrics-graphics:更簡潔和擁有更規範的數據圖表佈局優化演算法的庫。 官網
  • pykcharts.js:經過精心設計后,去除 d3.js 複雜性的 d3.js 圖表庫。 官網
  • three.js:JAVAScript 3D 庫。 官網
  • Chart.js:簡單的、基於 canvas 標籤的 HTML5 圖表庫。 官網
  • paper.js:是向量圖形腳本中的瑞士軍刀 —— 使用 HTML5 Canvas 將 Scriptographer 移植到 JAvaScript 官網和瀏覽器。
  • fabric.js:JavaScript Canvas 庫,SVG 與 Canvas 可以相互解析。 官網
  • peity:進度條、線狀和餅狀圖。 官網
  • raphael:JavaScript 向量庫。 官網
  • echarts:商業產品圖表。 官網
  • vis:動態的、基於瀏覽器的可視化庫。 官網
  • two.js:一個渲染器無關的適用於 web 的二維繪圖 api 。 官網
  • g.raphael:基於 Raphaël 圖表庫。 官網
  • sigma.js:一個致力於圖形繪畫的 JavaScript 庫。 官網
  • arbor:一個使用 web workers 和 jQuery 的圖像可視化庫。 官網
  • cubism:可視化時間序列的 D3 外掛程式。 官網
  • dc.js:與 crossfilter 無縫合作的多維圖繪製庫,使用 d3.js 渲染。 官網
  • vega:一套可視化語法。 官網
  • processing.js:Processing.js 基於 Web 標準使數據可視化,而無需任何外掛程式。 官網
  • envisionjs:動態的 HTML5 可視化。 官網
  • rickshaw:用於建置互動式即時圖表的 JavaScript 工具組。 官網
  • flot:吸引人的、基於 jQuery 的 JavaScript 圖表庫。 官網
  • morris.js:漂亮的時間序列線框圖。 官網
  • nvd3:一個為 D3.js 構建可複用圖表和圖表元件的庫。 官網
  • svg.js:一個輕量的、用於操作和添加 SVG 動畫的庫。 官網
  • heatmap.js:基於 HTML5 canvas 的熱力圖 JavaScript 庫。 官網
  • jquery.sparkline:一個直接在瀏覽器端生成小型走勢圖的 jQuery 外掛程式。 官網
  • xCharts:一個基於 D3、用於構建自定義圖表和圖形的庫。 官網
  • trianglify:基於 d3.js 的低多邊形(low poly)風格背景圖片生成器。 官網
  • d3-cloud:創建詞雲(word cloud)效果的 JAVAScript 庫。 官網
  • d4:一個基於 D3 、友好、可複用的 DSL 圖表庫 。 官網
  • dimple.js:基於 d3 的簡易商業分析圖表庫。 官網
  • chartist-js:簡單的回應式圖表。 官網
  • epoch:一個通用的即時圖表庫。 官網
  • c3:基於 D3 的可複用圖表庫。 官網
  • BabylonJS:一個運用 HTML5 和 WebGL 構建 3D 遊戲的框架。 官網
  • jquery.raty.js:一個星級評分外掛程式。 官網

也有一些很棒的收費庫,如 amchartplotlyhighchart

時間軸

  • TimelineJS: 一個用 JAvaScript 編寫的可敘事時間軸庫。 官網
  • timesheet.js:用於建譯簡單的 HTML5 & CSS3 時程表的 JavaScript 庫。 官網

編輯器

  • ace:Ace(Ajax.org Cloud9 Editor)。 官網
  • CodeMirror:瀏覽器端的代碼編輯器。 官網
  • esprima:用於綜合分析的 ECMAScript 解析器。 官網
  • quill:一個帶有 API 的跨瀏覽器富文字編輯器。 (官網
  • medium-editor:Medium.com 所見即所得編輯器的克隆版。 官網
  • pen:享受在線編輯(支援 markdown)。 官網
  • jquery-notebook:一個易用的、簡潔優雅的文本編輯器。 靈感來源於 Medium 的魅力。 官網
  • bootstrap-wysiwyg:小巧的、相容 bootstrap 的所見即所得的富文本編輯器。 官網
  • ckeditor-releases:適用於每個人的 web 文本編輯器。 官網
  • editor:一個 markdown 編輯器,但仍在開發中。 官網
  • EpicEditor:一個可嵌入的 JavaScript Markdown 官網的編輯器,擁有全屏編輯、即時預覽、自動保存草稿和離線支援等功能。
  • jsoneditor:查看、編輯和格式化 JSON 的 web 工具。 官網
  • vim.js: 擁有持久化 ~/.vimrc 的 Vim 編輯器的 JavaScript 移植版本。 官網
  • Squire:HTML5 富文字編輯器。 官網
  • TinyMCE:JavaScript 富文字編輯器。 官網
  • trix:由 Basecamp 製作,適用於每天寫作的富文本編輯器。 官網

處理檔的庫。

  • Papa Parse:一款強大的 CSV 函式庫,支援解析 CSV 檔/字串,也能匯出 CSV。 官網
  • jBinary:對用聲明式語法描述檔類型和數據結構的二進位檔案,進行高級 I/O(載入、解析、操作、序列化、存儲)操作。 官網

函數式程式設計

函數式程式設計庫擴展了 JavaScript 的能力。

  • underscore:JavaScript 的實用工具。 官網
  • lodash:提供一致性、可定製、高性能和額外功能的實用庫。 官網
  • Sugar:一個擴展了原生物件功能的 JAVAScript 庫。 官網
  • lazy.js:類似 Underscore,但性能更優越官網
  • ramda:一個針對 JavaScript 程式師的實用函數庫。 官網
  • mout:模組化的 JavaScript 工具庫。 官網
  • mesh:流數據同步工具。 官網

回應式程式設計

回應式程式庫擴展了 JAVAScript 的能力。

  • RxJs:對 JAVAScript 進行回應式擴展。 官網
  • Bacon:JAVAScript 的 FPR(函數式回應式程式設計)庫。 官網
  • Kefir:受 Bacon.js 和 RxJS 啟發的 FRP 庫,專注於高性能和低記憶體消耗。 官網
  • Highland:對 JAVAScript 實用工具的重新思考,Highland 能輕易地管理同步和異步訊息,而且僅使用標準 JAVAScript 和類 Node 流。 官網
  • Most.js:高性能 FRP 庫。 官網

數據結構

數據結構庫用於構建一個更複雜的應用。

  • immutable-js:不可變的數據集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。 官網
  • mori:使用 ClojureScript 持久化資料結構和支援原生 JavaScript API 的庫。 官網
  • buckets:完整的、經過充分測試和記錄數據結構的 JavaScript 庫。 官網
  • hashmap:簡單的 hashmap 實現,支援任何類型的鍵值。 官網

日期

日期庫。

  • moment:解析、驗證、操作和顯示日期。 官網
  • moment-timezone:基於 moment.js 的時區庫。 官網
  • jquery-timeago:一款支援自動更新模糊時間戳的 jQuery 外掛程式(如:"4 分鐘之前")。 官網
  • timezone-js:讓 JAVAScript Date 對象擁有時區功能。 使用 Olson zoneinfo 檔記錄著時區數據。 官網
  • date:擁有人性化的 Date() 方法。 官網
  • ms.js:小巧的毫秒轉換工具。 官網
  • timeago.js:一個非常輕量級(~1.7 Kb)的用於將時間轉化成xxx時間前格式,例如:8分鐘前。 官網

字串

字串庫。

  • selecting:一個允許你獲取使用者選定文本的庫。 官網
  • underscore.string:擴展了 Underscore.js 的字串操作。 官網
  • string.js:額外的 JavaScript 字串方法。 官網
  • he:健壯的 HTML 實體編碼/解碼器。 官網
  • multiline:多行字串。 官網
  • query-string:解析和字串化 URL 查詢字串。 官網
  • URI.js:URL 操作庫。 官網
  • jsurl:輕量的 URL 操作庫。 官網
  • sprintf.js:實現字串格式化。 官網
  • url-pattern:讓 url 和其它字串進行比正則運算式匹配更簡單。 字串和數據可相互轉化。 官網

數位

  • Numeral-js:對數位進行格式化和操作的庫。 官網
  • odometer:流暢的數位過渡效果。 官網
  • accounting.js:對數位、金錢、貨幣進行格式化的輕量庫——完全當地語系化和無依賴。 官網
  • money.js:一個小巧(1kb)的貨幣轉換庫,適用於 web 和 nodeJS。 官網
  • Fraction.js:一個有理數庫。 官網
  • Complex.js: 一個複數庫。 官網
  • Polynomial.js:一個多項式庫。 官網

存儲

  • store.js:為所有瀏覽器封裝了 LocalStorage,而沒有使用 cookies 和 flash。 隱秘地使用 localStorage、globalStorage 和用戶數據。 官網
  • localForage:改善後的離線存儲。 其封裝了 IndexedDB、WebSQL 和 localStorage,擁有操作簡單和強大的 API。 官網
  • jStorage:jStorage 是一個簡單的鍵值對資料庫,用於在瀏覽器端存儲數據。 官網
  • cross-storage:獲得許可權後,能跨功能變數名稱本地存儲。 官網
  • basket.js:用 localStorage 載入和緩存腳本的資源載入器。 官網
  • bag.js:可以緩存腳本和載入資源,與 basket.js 相似,但增加了鍵值對介面和對 localStorage / websql / 官網undexedDB 的支援。
  • basil.js:智慧的 JAVAScript 數據持久層庫。 官網
  • jquery-cookie:輕巧簡單的、用於讀取、編輯和刪除 cookie 的 jQuery 外掛程式。 官網
  • Cookies:用戶端 Cookie 操作庫。 官網
  • DB.js:基於 Promise 的、封裝了 IndexedDB 的庫。 官網
  • lawnchair.js:簡單的用戶端 JSON 存儲。 官網

顏色

  • randomColor:JavaScript 顏色產生器。 官網
  • chroma.js:擁有各種各樣顏色操作的 JavaScript 庫。 官網
  • color:JavaScript 顏色轉換和操作庫。 官網
  • colors:更智慧的預設 web 顏色。 官網
  • PleaseJS:隨機建立出賞心悅目的顏色和色彩配置。 官網
  • TinyColor:快速、輕巧的顏色操作和轉換庫。 官網
  • Vibrant.js:從圖像提取主要顏色。 官網

國際化和當地語系化(I18n And L10n)

當地語系化和國際化 JAVAScript 庫

  • i18next:JAVAScript 最簡單的國際化(i18n)方法。 官網
  • polyglot:小巧的國際化助手庫。 官網
  • babelfish:i18n 提供友好易懂的 API ,並且內置多種支援。 官網

  • ClassManager:世界上最快、最方便的類系統之一。 官網
  • klass:用於創建極富表現力的類工具庫。 官網
  • augment:世界上最小且最快的一流 JavaScript 繼承模式。 官網

控制流

  • async:適用於 node 和瀏覽器的非同步工具庫。 官網
  • q:實現非同步的 promise JavaScript 庫。 官網
  • step:讓邏輯順序合理化的非同步控制流庫。 官網
  • contra:利用函數風格實現的非同步流控制。 官網
  • Bluebird:專注於革新功能和性能的,功能齊全的 promoise 庫。 官網
  • when:快速可靠的、Promises/A+ 規範的 when() 實現,而且擁有異步其它的優秀特性。 官網
  • ObjectEventTarget:提供增加了事件監聽的原型(與 DOMElement 的 EventTarget 在瀏覽器行為一致)。 官網

路由

  • director:一個小巧的、與 URL 同構的路由器。 官網
  • page.js:受 Express router 啟發的小型用戶端路由器(約為1200位元組)。 官網
  • pathjs:簡單、輕量的 web 路由器。 官網
  • crossroads:JAVAScript 路由。 官網
  • davis.js:使用 pushState、RESTful 風格和可降級的 JavaScript 路由器。 官網
  • angular-ui-router:基於AngularJS的可嵌套路由。 官網

安全性

  • DOMPurify:針對 HTML、MathML 和 SVG 的僅支援 DOM、快速、高容錯的 XSS 過濾器。 官網
  • js-xss:透過白名單配置,即可過濾不信任的 HTML(防止 XSS 攻擊)。 官網

日誌

  • log:帶有樣式的 Console.log。 官網
  • Conzole:對 JAvaScript 原生 console 物件方法和功能進行封裝的 debug 面板,使其顯示在頁面內。 官網
  • console.log-wrapper:將日誌清晰地記錄到 console,且相容所有瀏覽器。 官網
  • loglevel:最輕量的 JavaScript 日誌記錄工具庫,向封裝後可用的 console.log 方法增加可靠的日誌等級。 官網
  • minilog:輕量的、用流式 API 顯示的、可用於用戶端和伺服器端的日誌記錄庫。 官網

正則表達式

  • RegEx101:線上的 JavaScript 正則運算式測試器和調試器。 同時支援 Python、PHP 和 PCRE。 官網
  • RegExr:用於建立、測試和學習正則表達式的 HTML/JS 工具。 官網
  • RegExpBuilder:使用鏈式方法創建正則運算式。 官網

媒體

  • Ion.Sound:可用於任何網頁上簡單音訊。 官網

語音命令

  • annyang:向網站添加語音命令的語音辨識庫。 官網
  • voix.js:向網站、app 或遊戲添加語音命令的 JavaScript 庫。 官網

API

  • bottleneck:強大的頻率限制器,使調節流量變得更容易。 官網
  • oauth-signature-js:適用於 node 和 瀏覽器的 OAuth 1.0a 簽名生成器。 官網
  • amygdala:為 Web 應用提供 RESTful HTTP 客戶端解決方案。 官網
  • jquery.rest:一個讓 RESTful API 更易使用的 jQuery 外掛程式。 官網

視覺檢測

  • tracking.js:在 web 上實現計算視覺的一種現代方法。 官網
  • ocrad.js:透過 Emscripten 用 JavaScript 實現 OCR(光學字元識別)。 官網

瀏覽器檢測

  • bowser:一個瀏覽器檢測器。 官網

UI

代碼高亮

  • Highlight.js:JAVAScript 語法高亮器。 官網
  • PrismJS:輕量、健壯和優雅的語法高亮器。 官網

載入狀態

指示載入狀態的庫。

  • Mprogress.js:創建谷歌 Material 設計風格的線性進度條。 官網
  • NProgress:在 Ajax'y 應用顯示細長型進度條官網
  • Spin.js:一個旋轉的進度指示器。 官網
  • progress.js:為頁面任何對象創建和管理進度條。 官網
  • progressbar.js:用 SVG path 動畫製作的、漂亮和回應式的進度條。 官網
  • pace:自動向你的網站添加一個進度條。 官網
  • topbar:小巧漂亮的、與網站同寬的進度指示器。 官網
  • nanobar:非常輕量的進度條。 不依賴 jQuery。 官網
  • PageLoadingEffects:使用 SVG 動畫展現新內容的現代方式。 官網
  • SpinKit:運用 CSS 動畫的載入指示器集合。 官網
  • Ladda:內置在按鈕的載入指示器。 官網
  • css-loaders:運用 CSS 動畫的旋轉載入指示器的集合。 官網

除了上述這些庫,還有收藏在 Codepen 的,另外還有 AjaxloadPreloadersCSSLoad 這些生成器。

驗證

  • Parsley.js:不用寫一行 JavaScript 代碼即可在前端驗證表單。 官網
  • jquery-validation:jQuery 驗證外掛程式。 官網
  • validator.js:字串驗證和過濾(在使用使用者輸入之前清理使用者輸入中的有害或危險字元的操作)。 官網
  • validate.js:受 CodeIgniter 啟發的輕量表單驗證 JavaScript 庫。 官網
  • validatr:跨瀏覽器的 HTML5 表單驗證庫。 官網
  • BootstrapValidator:是驗證表單域中最好的 jQuery 外掛程式。 要與 Bootstrap 3 一起使用。 官網
  • is.js:檢查類型、正則運算式、是否存在、時間等。 官網
  • FieldVal:多用途驗證庫。 同時支援同步和異步驗證。 官網

鍵盤封裝器

  • mousetrap:處理鍵盤快速鍵的 JavaScript 庫。 官網
  • keymaster:定義和調度鍵盤快捷鍵的小型庫。 官網
  • Keypress:鍵入捕捉工具庫,任何鍵都可以成為一個修飾健。 官網
  • KeyboardJS:一個用於綁定鍵盤組合的 JavaScript 庫,讓你脫離快捷鍵和快捷鍵組合衝突的痛苦。 官網
  • jquery.hotkeys:jQuery Hotkeys 能讓你在代碼任何的地方監聽鍵盤事件,並幾乎支援所有按鍵組合。 官網
  • jwerty:令人驚歎的鍵盤事件處理庫。 官網

瀏覽和引導

  • intro.js:這是一個介紹新功能的很好方式,能一步步地引導用戶流覽你的網站和專案。 官網
  • shepherd:通過引導讓用戶流覽你的應用程式。 官網
  • bootstrap-tour:應用 Twitter Bootstrap 彈出框對產品進行快速簡單的引導。 官網
  • tourist:簡單、靈活的應用引導介紹庫。 官網
  • chardin.js:簡單的應用遮罩層介紹。 官網
  • pageguide:使用 jQuery 和 CSS3 的 web 頁面元素互動引導庫。 官網
  • hopscotch:讓開發者更容易向其頁面產品添加引導的框架。 官網
  • joyride:基於 jQuery 的功能引導外掛程式。 官網
  • focusable:通過向頁面其餘部分添加遮罩層,使焦點聚集在特定 DOM 元素。 官網

通知

  • messenger:為你的應用添加 Growl-style 彈框和訊息(Crowl 是 Mac OS X 下的一個通知系統)。 官網
  • noty:jQuery 通知外掛程式。 官網
  • pnotify:適用於 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知庫。 官網
  • toastr:用來顯示簡單的,會自動到期的訊息視窗)簡單的彈出框通知(toast notifications官網
  • humane-js:一個簡單、時髦的瀏覽器通知系統。 官網
  • smoke.js:與框架無關的、能夠自定義樣式的 JavaScript 彈框系統。 官網

幻燈片

  • Swiper:使用硬體加速過渡的行動裝置觸控滑塊框架。 官網
  • slick:你所需要的最後一個輪播外掛程式。 官網
  • slidesJs:回應式的 jQuery(1.7.1+)幻燈片外掛程式,具有觸摸、 CSS3 過渡等特性。 官網
  • FlexSlider:一款令人驚歎的、全回應式的幻燈片 jQuery 外掛程式。 官網
  • unslider:最簡單的幻燈片 jQuery 外掛程式。 官網
  • colorbox:輕量、可自定義的燈箱 jQuery 外掛程式。 官網
  • fancyBox:提供了良好優雅的方式,為頁面上的圖片、html 內容和多媒體添加縮放功能的工具。 官網
  • sly:基於項導航的、支援單向滾動的 JavaScript 庫。 官網
  • vegas:向頁面添加漂亮的全屏背景的 jQuery 外掛程式,甚至允許幻燈片。 官網
  • Sequence:用於建立回應式的幻燈片、演示、旗幟廣告和以步驟為基礎的應用的 CSS 動畫框架。 官網
  • baguetteBox.js:易於使用的、用純 JAvaScript 實現的遮罩層腳本。 官網
  • reveal.js:用 HTML 創建漂亮演示控制項的框架。 官網
  • PhotoSwipe:適用於行動裝置和桌面電腦的、模組化和不無依賴框架的 JavaScript 畫廊控制項。 官網
  • jcSlider:用 CSS 動畫實現的回應式投影片 jQuery 外掛程式。 官網
  • basic-jquery-slider:易於使用、指定主題和定製化。 官網
  • unslider: 這是最簡單的幻燈片 jQuery 外掛程式。 官網
  • viewerjs:原生js實現的圖片查看器。 官網
  • jQuery.adaptive-slider:帶有自適應顏色標題和導航的幻燈片 jQuery 外掛程式。 官網
  • slidr:可添加一些幻燈片效果。 官網
  • Flickity:可觸摸的、回應式的和可輕彈的畫廊。 官網

滑塊控件

  • Ion.RangeSlider:強大的、易於自定義的範圍滑塊選擇庫,支援很多配置和皮膚。 官網
  • jQRangeSlider:支援日期的滑塊選擇庫。 官網
  • noUiSlider:輕量無冗餘的、高度定製化的滑塊選擇庫。 官網
  • rangeslider.js:HTML5 input 區域滑塊元素。 官網

表單元件

輸入

  • typeahead.js:快速的、功能齊全的自動補全庫。 官網
  • tag-it:處理多標籤欄位以及標籤建議/自動完成的 jQuery UI 外掛程式。 官網
  • At.js:向你的應用添加類似 Github 的自動完成提示功能。 官網
  • Placeholders.js:JAVAScript 補全 HTML5 占位符的屬性。 官網
  • fancyInput:利用 CSS3 效果讓輸入更有趣。 官網
  • jQuery-Tags-Input:利用這個 jQuery 外掛程式,可奇妙地將一個簡單的文本輸入轉換成一個酷酷的標籤清單。 官網
  • vanilla-masker:一個純 JAvaScript 實現的輸入控制庫。 官網
  • Ion.CheckRadio:一個為複選框和單選按鈕添加樣式的 jQuery 庫,支持多種皮膚。 官網

日曆

  • pickadate.js:對行動裝置友好的、回應式的和輕量的 jQuery 日期 & 時間輸入選擇器。 官網
  • bootstrap-datepicker:基於 bootstrap 的日曆選擇器。 官網
  • Pikaday:一個嶄新的 JavaScript 日期選擇器 —— 輕量、無依賴和模組化的 CSS。 官網
  • fullcalendar:全尺寸、支援拖放事件的行事曆(jQuery 外掛程式)。 官網
  • rome:可定製的日期(和時間)選擇器。 無依賴,可選 UI。 官網
  • datedropper: datedropper 是一個 jQuery 外掛程式,它提供了快速簡易的方式去管理日期輸入框。 官網

選擇

  • selectize.js:Selectize 是文字框和選擇框的混合體。 它基於jQuery,擁有自動完成和鍵盤感應下拉清單功能,可用於標籤、聯繫人清單等。 官網
  • select2:它基於 jQuery,是選擇框(select box)的替代品。 支援搜索、遠程數據集和無限滾動。 官網
  • chosen:可以讓冗長不便的選擇框更友好的庫。 官網

文件上傳

  • jQuery-File-Upload:File Upload 是一個支援多檔案選擇、檔拖放、進度條、驗證和圖片、音訊、視頻預覽的 官網jQuery 外掛程式。
  • dropzone:Dropzone 是一個易於使用且支援多檔拖放的庫。 其支援圖片預覽並且擁有很好的進度條效果。 官網
  • flow.js:一個透過 HTML5 的 File API ,提供多個同時連結的、穩定的、容錯的、可恢復的/可重新開始的檔上傳庫。 官網
  • fine-uploader:一個帶有進度條、拖放功能和支援直接上傳到 S3 (Amazon Simple Storage Service,亞馬遜簡易存儲服務)的多檔上傳外掛程式。 官網
  • FileAPI:JavaScript 檔案工具集合。 支援多檔上傳、拖放和檔分塊上傳。 對於圖像,支援裁剪、調整大小和根據 EXIF 自動調整方向。 官網
  • plupload:處理檔案上傳的 JavaScript 官網API,其支援多檔案選擇、檔案類型過濾、分塊請求、用戶端圖片縮放和根據不同的運行環境選擇 HTML5、Silverlight 和 Flash。

其它

  • form:jQuery 表單外掛程式。 官網
  • Garlic.js:自動在本地保存表單文本和選擇框的值,直到表單被提交。 官網
  • Countable:對某個 HTML 元素包含文字的段落數、單詞數和字元數進行統計的 JavaScript 函數。 官網
  • card:只需一行代碼,讓信用卡表單變得更友好。 官網
  • stretchy:自適應大小的 form 元素,表單本應該是這樣的。 官網
  • list.js:向表格、清單等 HTML 元素添加搜索、排序、過濾和自適應功能的庫。 在已有 HTML 上增加可視化。 List.js的官網

提示

  • tipsy:基於 jQuery 的 Fackbook 風格的提示工具(tooltip)。 官網
  • opentip:開源且基於 prototype 框架的 JavaScript 工具提示庫。 官網
  • qTip2:非常強大的工具提示庫。 官網
  • tooltipster:一個工具提示 jQuery 外掛程式。 官網
  • simptip:用 Sass 製作的、簡單的工具提示。 官網
  • jquery-popup-overlay:是一個回應式的和可訪問性強的模態框(modal)和工具提示框 jQuery 外掛程式。 官網

模態框和彈出框

  • Magnific-Popup:專注於性能、輕量、回應式的燈箱(lightbox)腳本。 官網
  • jquery-popbox:jQuery 提示框外掛程式。 官網
  • jquery.avgrund.js:一種新的定於彈出的模態框 jQuery 外掛程式。 官網
  • vex:新的、擁有高度可配置和易於改變樣式功能的對話方塊庫。 官網
  • bootstrap-modal:對 Bootstrap 預設的模態框類進行擴展。 其支援回應式、可堆疊和 ajax 等。 官網
  • css-modal:純 CSS 打造的模態框。 官網
  • jquery-popup-overlay:是一個回應式的和可訪問性強的模態框和工具提示框(tooltips)jQuery 外掛程式。 官網
  • layer:國內最多人使用的web彈層元件。 官網

滾動

  • scrollMonitor:滾動發生時,可以監聽元素的、簡單、快速的 API。 官網
  • headroom:除非你需要顯示頁面頭部(header),否則將隱藏它,以騰出頁面頭部空間。 官網
  • onepage-scroll:創建一個類似 Apple 的單頁面滾動網站(iPhone 5S 網站)。 官網
  • iscroll:高性能、輕量、無依賴、相容多平臺的 JavaScript 滾動元件。 官網
  • skrollr:獨立(不依賴 jQuery) 的視差滾動庫,適用於行動裝置(Android + iOS)和桌面電腦。 官網
  • parallax:面向智慧設備的視差引擎。 官網
  • stellar.js:讓視差滾動變簡單。 官網
  • plax:基於 jQuery 的視差庫。 官網
  • jparallax:創建可交互視差效果的 jQuery 外掛程式。 官網
  • fullPage:簡單和易於使用的、用於創建全屏滾動網站的外掛程式(也被稱為單頁面網站)。 官網
  • ScrollMenu:讓老舊無聊的滾動條煥然一新。 官網

功能表

  • jQuery-menu-aim:當用戶游標放在特定下拉菜單項時觸發事件。 可製作回應式的、大數據量的下拉菜單,如 Amazon 的。 官網
  • jQuery contextMenu:右鍵功能表(contextMenu) 管理工具。 官網
  • Slideout:為行動裝置的 web 應用製作出回應式的、可觸摸滑出的導航功能表。 官網
  • Slide and swipe:一個基於 touchSwipe 庫的滑出功能表外掛程式。 官網

表格/柵格

  • jTable:基於 CRUD 表建立 AJAX 的 jQuery 外掛程式。 官網
  • DataTables:這是一個非常靈活的工具,在漸進增強的基礎上,將高級的交互效果加到 HTML 表格。 (jQuery 外掛程式)官網
  • floatThead:(jQuery 外掛程式)鎖定表格頭部,只允許表格內容滾動。 適用於任何表格,而且不需要額外的 html 或 css。 官網
  • Masonry:瀑布流式的網格佈局庫。 官網
  • Packery:使用裝箱演算法(bin-packing)的網格佈局庫。 支援拖拽佈局。 官網
  • Isotope:可過濾和可排序的網格佈局的庫,它能實現 Masonry、Packery 等佈局。 官網

框架

  • Semantic UI:擁有大量主題和元素的 UI 套件。 官網

手勢

  • hammer.js:擁有多種觸摸手勢的 JavaScript 庫。 官網
  • touchemulator:在桌面電腦模仿觸摸輸入。 官網
  • Dragula:超級易於使用的拖拽庫。 官網

觸摸

  • fastclick.js:去除觸屏使用者300ms點擊延誤。 官網
  • dropload.js:移動端下拉刷新,上拉載入更多。 官網
  • touchslide.js:觸屏滑動特效。 官網

地圖

  • Leaflet:對行動裝置友好的、可互動的地圖 JavaScript 庫。 官網
  • Cesium:開源的、基於 WebGL 實現的虛擬地球儀和地圖引擎。 官網
  • gmaps:以最簡單的方式使用 Google 地圖。 官網
  • polymaps:免費的、相容現代 web 瀏覽器的、用於製作動態可互動的地圖 JavaScript 庫。 官網
  • kartograph.js:開源的 Kartograph SVG 地圖渲染器。 官網
  • mapbox.js:Mapbox 的 API,Leaflet 的外掛程式。 官網
  • jqvmap:向量地圖 jQuery 外掛程式。 官網
  • OpenLayers3:高性能的、功能豐富的庫,能滿足你對地圖所有需求。 官網

視頻/音訊

  • prettyembed.js:更完美地嵌入 YouTube —— 擁有很好的選項,如高解析度的預覽圖、嵌入選項的高級定制和可選的 官網FitVids 支援。
  • html5media:能在所有主流瀏覽器播放多媒體標籤中定義的多媒體檔。 官網
  • Play-em JS:Play'em 是一個 JavaScript 元件,它能管理音樂/視頻播放順序,通過在一個 DIV 元素裡嵌入幾個播放機(Youtube、Soundcloud 和 Vimeo)來控制一系列歌曲的播放。 官網
  • polyplayer:將 YouTube、Soundcloud 和 Vimeo 播放機的 API 統一成一套。 官網
  • flowplayer: HTML5 視訊播放器 官網Github
  • mediaelement:讓 HTML5、 Flash 播放器和模仿 HTML5 媒介元素 API 的 Silverlight shim,在所有瀏覽器擁有一致的 UI。 官網Github
  • SoundJS:讓音訊在 web 上運行更簡單的庫。 它為不同瀏覽器提供了一致的 API。 官網

動畫

  • velocity:加速 JAVAScript 動畫。 官網
  • jquery.transit:擁有超級流暢的 CSS3 變換和過渡的 jQuery 外掛程式。 官網
  • impess.js:在 HTML 文件裡,運用 CSS3 轉換和過渡製作類似 Prezi 的展現效果。 官網
  • bounce.js:可以立刻創建有趣的 CSS3 動畫。 官網
  • GreenSock-JS:適用於所有主流瀏覽器的高性能 HTML5 動畫。 官網
  • TransitionEnd:TransitionEnd 是一個運用 transitonend 事件的、跨瀏覽器的庫。 官網
  • Dynamics.js:用於創建基於物理知識的 CSS 動畫庫。 官網

圖片處理

  • lena.js:擁有濾鏡和實用功能的圖像處理庫。 官網
  • pica:高品質地調整圖片大小(擁有快速的、純 JS 實現的 Lanczos 濾鏡演算法)。 官網
  • cropper:一個簡單的圖像裁剪 jQuery 外掛程式。 官網
  • AlloyImage:騰訊前端開源的基於HTML5的專業級圖像處理開源引擎。 官網

ECMAScript 6

  • es6features:ECMAScript 6 特性概述。 官網
  • es6-features:ECMAScript 6: 特性概述和比較。 官網
  • ECMAScript 6 compatibility table :Compatibility tables 展示了各種平臺上所有 ECMAScript 6 特性的支援程度。 官網
  • Babel (Formerly 6to5):將 ES6+ 代碼轉換成純 ES5。 官網
  • Traceur compiler:ES6 特性轉 ES5。 包括 classes、generators、promises、destructuring 官網patterns、default parameters 等。

軟體開發工具套件(SDK)

  • javascript-sdk-design:從工作和個人經驗中提煉出來的 JavaScript SDK 設計指導。 官網大雜燴
  • echo:利用 data-* 屬性延遲載入圖片。 官網
  • picturefill:回應式圖片顯示外掛程式,使瀏覽器支援 srcset、size 屬性。 官網
  • platform.js:一個平台檢測庫,幾乎適用於所有 JAVAScript 平臺。 官網
  • json3:一個現代 JSON 實現庫,幾乎相容所有 JavaScript 平臺。 官網
  • Logical Or Not:一個關於 JAvaScript 特性的遊戲。 官網
  • BitSet.js:實現位向量的 JAVAScript 庫。 官網
  • Edge.js:執行在一個行程中執行. NET和Node.js代碼。 官網GitHub

精品閱讀

What do you think?

Written by marketer

blank

Headless Testing入坑指南

blank

2021年前端開發人員應該學習的10件事