前端高效開發必備的 js 庫梳理
以前有不少人問學好前端須要學習哪些 js 庫, 主流框架應該學 vue 仍是 react ? 針對這些問題, 筆者來講說本身的見解和學習總結.html
首先我以爲在學習任何知識以前必需要有一個明確的學習目標, 知道本身爲何要學它, 而不是看網上說的一股腦的給你灌輸各類知識, 讓你學習各類庫, 從而不斷的製造你們的焦慮感.前端
前端因爲入行門檻低, 更新換代很快, 每一年都會有大量新的框架和庫出現, 也有大量庫被淘汰(好比 JQuery
, 可是學習它的設計思想頗有必要). 因此咱們大可沒必要擔憂, 保持本身的學習步伐, 按需學習便可. 好比說你對移動端比較感興趣, 工做中也恰好涉及到一些技術的應用,那麼我能夠專門研究移動端相關的技術和框架, 又或者你對企業後臺/中臺產品感興趣, 比較喜歡開發PC端項目, 那麼咱們能夠專門研究這種類型的js庫或者框架, 接下來筆者也是按照不一樣前端業務的需求, 來整理一份能快速應用到工做中的js庫, 以提升你們的開發效率.vue
js經常使用工具類
![](http://static.javashuo.com/static/loading.gif)
- lodash 一個一致性、模塊化、高性能的 JavaScript 實用工具庫。
- ramda 一個很重要的庫,提供了許多有用的方法,每一個 JavaScript 程序員都應該掌握這個工具
- day.js 一個輕量的處理時間和日期的 JavaScript 庫,和 Moment.js 的 API 設計保持徹底同樣, 體積只有2kb
- big.js 一個小型,快速的JavaScript庫,用於任意精度的十進制算術運算
- qs 一個 url參數轉化 (parse和stringify)的輕量級js庫
dom庫
![](http://static.javashuo.com/static/loading.gif)
- JQuery 封裝了各類dom/事件操做, 設計思想值得研究借鑑
- zepto jquery的輕量級版本, 適合移動端操做
- fastclick 一個簡單易用的庫,它消除了移動端瀏覽器上的物理點擊和觸發一個 click 事件之間的 300ms 的延遲。目的就是在不干擾你目前的邏輯的同時,讓你的應用感受不到延遲,反應更加靈敏。
文件處理
![](http://static.javashuo.com/static/loading.gif)
- file-saver 一個在客戶端保存文件的解決方案,很是適合在客戶端上生成文件的Web應用程序
- js-xlsx 一個強大的解析和編寫excel文件的庫
網絡請求
![](http://static.javashuo.com/static/loading.gif)
- Axios 一個基於 Promise 的 HTTP 庫,可用在 Node.js 和瀏覽器上發起 HTTP 請求,支持全部現代瀏覽器,甚至包括 IE8+
- Superagent 基於Ajax的優化, 能夠與 Node.js HTTP 客戶端搭配使用
- fly.js 一個基於promise的http請求庫, 能夠用在node.js, Weex, 微信小程序, 瀏覽器, React Native中
動畫庫
![](http://static.javashuo.com/static/loading.gif)
- Anime.js 一個JavaScript動畫庫,能夠處理CSS屬性,單個CSS轉換,SVG或任何DOM屬性以及JavaScript對象
- Velocity 一個高效的 Javascript 動畫引擎,與jQuery的 $.animate() 有相同的API, 同時還支持彩色動畫、轉換、循環、畫架、SVG支持和滾動等效果
- Vivus 一個零依賴的JavaScript動畫庫,可讓咱們用SVG製做動畫,使其具備被繪製的外觀
- GreenSock JS 一個JavaScript動畫庫,用於建立高性能、零依賴、跨瀏覽器動畫,已在超過400萬個網站上使用, 而且能夠在React、Vue、Angular項目中使用
- Scroll Reveal 零依賴,爲 web 和移動瀏覽器提供了簡單的滾動動畫,以動畫的方式顯示滾動中的內容
- Kute.js 一個強大高性能且可擴展的原生JavaScript動畫引擎,具備跨瀏覽器動畫的基本功能
- Typed.js 一個輕鬆實現打字效果的js插件
- fullPage.js 一個可輕易建立全屏滾動網站的js滾動動畫庫, 兼容性無可替代
- iscroll 移動端使用的一款輕量級滾動插件
鼠標/鍵盤相關
![](http://static.javashuo.com/static/loading.gif)
- KeyboardJS 一個在瀏覽器中使用的庫(與node.js兼容).它使開發人員能夠輕鬆設置鍵綁定和使用組合鍵來設置複雜的綁定.
- SortableJS 功能強大的JavaScript 拖拽庫
圖形/圖像處理庫
![](http://static.javashuo.com/static/loading.gif)
- html2canvas 一個強大的使用js開發的瀏覽器網頁截圖工具
- dom-to-image 一個能夠將任意DOM節點轉換爲用JavaScript編寫的矢量(SVG)或光柵(PNG或JPEG)圖像的庫
- pica 一個在瀏覽器中調整圖像大小,而不會出現像素失真,處理速度很是快的圖片處理庫
- Lena.js 一個輕量級的能夠給你圖像加各類濾鏡的js庫
- Compressor.js 一個使用本地canvas.toBlob API進行圖像有損壓縮的js庫
- Fabric.js 一個易於使用的基於HTML5 canvas元素的圖片編輯器
- merge-images 一個將多張圖片合併成一張圖的js插件
- cropperjs 一款強大的圖片裁切庫, 支持靈活的圖片裁切方式
- Grade 一個基於圖像中的前2種主要顏色生成互補漸變背景的庫