前端高效開發必備的 js 庫梳理

之前有很多人問學好前端需要學習哪些 js 庫, 主流框架應該學 vue 還是 react ? 針對這些問題, 筆者來說說自己的看法和學習總結.

首先我覺得在學習任何知識之前必須要有一個明確的學習目標, 知道自己為什么要學它, 而不是看網上說的一股腦的給你灌輸各種知識, 讓你學習各種庫, 從而不斷的制造大家的焦慮感.

前端由于入行門檻低, 更新換代很快, 每年都會有大量新的框架和庫出現, 也有大量庫被淘汰(比如?JQuery, 但是學習它的設計思想很有必要). 所以我們大可不必擔心, 保持自己的學習步伐, 按需學習即可. 比如說你對移動端比較感興趣, 工作中也剛好涉及到一些技術的應用,那么我可以專門研究移動端相關的技術和框架, 又或者你對企業后臺/中臺產品感興趣, 比較喜歡開發PC端項目, 那么我們可以專門研究這種類型的js庫或者框架, 接下來筆者也是按照不同前端業務的需求, 來整理一份能快速應用到工作中的js庫, 以提高大家的開發效率.

js常用工具類

  1. lodash?一個一致性、模塊化、高性能的 JavaScript 實用工具庫。

  2. ramda?一個很重要的庫,提供了許多有用的方法,每個 JavaScript 程序員都應該掌握這個工具

  3. day.js?一個輕量的處理時間和日期的 JavaScript 庫,和 Moment.js 的 API 設計保持完全一樣, 體積只有2kb

  4. big.js?一個小型,快速的JavaScript庫,用于任意精度的十進制算術運算

  5. qs?一個 url參數轉化 (parse和stringify)的輕量級js庫

dom庫

  1. JQuery?封裝了各種dom/事件操作, 設計思想值得研究借鑒

  2. zepto?jquery的輕量級版本, 適合移動端操作

  3. fastclick?一個簡單易用的庫,它消除了移動端瀏覽器上的物理點擊和觸發一個 click 事件之間的 300ms 的延遲。目的就是在不干擾你目前的邏輯的同時,讓你的應用感覺不到延遲,反應更加靈敏。

文件處理

  1. file-saver?一個在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的Web應用程序

  2. js-xlsx?一個強大的解析和編寫excel文件的庫

網絡請求

  1. Axios?一個基于 Promise 的 HTTP 庫,可用在 Node.js 和瀏覽器上發起 HTTP 請求,支持所有現代瀏覽器,甚至包括 IE8+

  2. Superagent?基于Ajax的優化, 可以與 Node.js HTTP 客戶端搭配使用

  3. fly.js?一個基于promise的http請求庫, 可以用在node.js, Weex, 微信小程序, 瀏覽器, React Native中

動畫庫

  1. Anime.js?一個JavaScript動畫庫,可以處理CSS屬性,單個CSS轉換,SVG或任何DOM屬性以及JavaScript對象

  2. Velocity?一個高效的 Javascript 動畫引擎,與jQuery的 $.animate() 有相同的API, 同時還支持彩色動畫、轉換、循環、畫架、SVG支持和滾動等效果

  3. Vivus?一個零依賴的JavaScript動畫庫,可以讓我們用SVG制作動畫,使其具有被繪制的外觀

  4. GreenSock JS?一個JavaScript動畫庫,用于創建高性能、零依賴、跨瀏覽器動畫,已在超過400萬個網站上使用, 并且可以在React、Vue、Angular項目中使用

  5. Scroll Reveal?零依賴,為 web 和移動瀏覽器提供了簡單的滾動動畫,以動畫的方式顯示滾動中的內容

  6. Kute.js?一個強大高性能且可擴展的原生JavaScript動畫引擎,具有跨瀏覽器動畫的基本功能

  7. Typed.js?一個輕松實現打字效果的js插件

  8. fullPage.js?一個可輕易創建全屏滾動網站的js滾動動畫庫, 兼容性無可替代

  9. iscroll?移動端使用的一款輕量級滾動插件

鼠標/鍵盤相關

  1. KeyboardJS?一個在瀏覽器中使用的庫(與node.js兼容).它使開發人員可以輕松設置鍵綁定和使用組合鍵來設置復雜的綁定.

  2. SortableJS?功能強大的JavaScript 拖拽庫

圖形/圖像處理庫

  1. html2canvas?一個強大的使用js開發的瀏覽器網頁截圖工具

  2. dom-to-image?一個可以將任意DOM節點轉換為用JavaScript編寫的矢量(SVG)或光柵(PNG或JPEG)圖像的庫

  3. pica?一個在瀏覽器中調整圖像大小,而不會出現像素失真,處理速度非常快的圖片處理庫

  4. Lena.js?一個輕量級的可以給你圖像加各種濾鏡的js庫

  5. Compressor.js?一個使用本地canvas.toBlob API進行圖像有損壓縮的js庫

  6. Fabric.js?一個易于使用的基于HTML5 canvas元素的圖片編輯器

  7. merge-images?一個將多張圖片合并成一張圖的js插件

  8. cropperjs?一款強大的圖片裁切庫, 支持靈活的圖片裁切方式

  9. Grade?一個基于圖像中的前2種主要顏色生成互補漸變背景的庫

以上這些js庫不必每一樣都去了解和深究, 技術都是為業務服務的, 所以我們按需使用和學習即可. 至于像react或者vue這種框架的相關生態, 筆者這里就不一一介紹了, 官網文檔上都有非常詳細的生態集, 感興趣的朋友自行了解即可.?

推薦閱讀

我在阿里招前端,我該怎么幫你?(文末有福利)
如何拿下阿里巴巴 P6 的前端 Offer
如何準備阿里P6/P7前端面試--項目經歷準備篇
大廠面試官常問的亮點,該如何做出?
如何從初級到專家(P4-P7)打破成長瓶頸和有效突破
若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?

末尾

你好,我是若川,江湖人稱菜如若川,歷時一年只寫了一個學習源碼整體架構系列~(點擊藍字了解我)

  1. 關注我的公眾號若川視野,回復"pdf" 領取前端優質書籍pdf

  2. 我的博客地址:https://lxchuan12.gitee.io?歡迎收藏

  3. 覺得文章不錯,可以點個在看呀^_^另外歡迎留言交流~

小提醒:若川視野公眾號面試、源碼等文章合集在菜單欄中間【源碼精選】按鈕,歡迎點擊閱讀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276420.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276420.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276420.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

交叉報表crosstab隱藏列名顯示_SAP軟件 報表查詢之 輸出格式設置

SAP不僅是功能強大、邏輯嚴謹的ERP軟件,還提供了強大的報表查詢功能。SAP的ALV報表展示功能是SAP的一大特點,實現了類似于EXCEL的功能。使用好ALV報表功能可以方便用戶從SAP中取到想要的數據,尤其是財務用戶。大家在使用SAP報表時&#xff0c…

CSS HACK 區別 IE6、IE7、IE8、Firefox兼容性

轉載鏈接:http://developer.51cto.com/art/201009/226787_1.htm 本文向大家描述一下如何使用CSS HACK區別IE6、IE7、IE8、Firefox兼容性問題,針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack,也叫寫CSS hack,相信你對本文介…

Flex sdk4 布局與更新

在flex中,主要使用LayoutManager來驅動組件的度量和布局策略, LayoutManager實現一個單例,在Application類構造函數中創建: 1 public functionApplication()2 {3 UIComponentGlobals.layoutManager ILayoutManager(4 Singleton.getInstance("mx.managers::ILayoutManager&…

linux PROC文件系統詳解

/proc文件系統下的多種文件提供的系統信息不是針對某個特定進程的,而是能夠在整個系統范圍的上下文中使用。可以使用的文件隨系統配置的變化而變化。命令procinfo能夠顯示基于其中某些文件的多種系統信息。以下詳細描述/proc下的文件。----------------------------…

seo每日一貼_白楊SEO:我看ZAC的外貿SEO應該怎樣做?(策略篇)

前言:這是白楊SEO公眾號更新第64篇。本該寫寫頭條SEO啥的,最近在師徒培訓講站內SEO時有旁聽同學提到后面講講谷歌SEO怎么樣,因為谷歌全世界搜索市場占有率,所以外貿SEO最主要還是做谷歌SEO。以白楊特意又去了前輩ZAC的SEO每日一貼…

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

轉載鏈接:http://blog.csdn.net/ixidof/article/details/5958904 摘要:解決不能通過mysql .sock連接MySQL問題 這個問題主要提示是,不能通過 /tmp/mysql .sock連到服務器,而php標準配置正是用過/tmp/mysql .sock,但是…

[轉]網頁柵格系統研究(2):蛋糕的切法

[出自]http://lifesinger.org/blog/2008/10/grid-system-2/首先澄清一個應用場景問題。研究(1)中指出,對于結構復雜的網站,不少設計師們喜歡采用960固定寬度布局。但要注意的是,960并不是萬能鑰匙,大部分網…

Vue3響應式原理

關注若川視野,回復"pdf" 領取資料,回復"加群",可加群長期交流學習本文結構- 關于Vue3- Vue2響應式原理回顧- Vue3響應式方案- Vue3響應式原理- 手寫mini版Vue3響應式本文共計:2349字2圖預計閱讀時間&#xff…

python二值化 感興趣區域_Python+OpenCV感興趣區域ROI提取方法

方法一:使用輪廓步驟1"""src為原圖"""ROI np.zeros(src.shape, np.uint8) #感興趣區域ROIproimage src.copy() #復制原圖"""提取輪廓"""proimagecv2.cvtColor(proimage,cv2.COLOR_BGR2GRAY) #轉換成…

error while loading shared libraries: libmysqlclient.so.16: cannot open

轉載鏈接:http://blog.sina.com.cn/s/blog_4ab24dd50100wnkv.html 問題解決辦法: locate libmysqlclient.so.16 如我的mysql安裝在/usr/local/mysql下,則結果為 /usr/local/mysql/lib/mysql/libmysqlclient.so.16 vi /etc/ld.so.conf 增…

編譯cvaux錯誤的原因

平臺vc6.0;在debug模式下編譯cvaux時會提示三個錯誤:error C2039: foreground_regions : is not a member of CvFGDStatModelerror C2039: foreground_regions : is not a member of CvFGDStatModelerror C2039: foreground_regions : is not a member of CvGaussBG…

找準切入點,調試看源碼,事半功倍

關注若川視野,回復"pdf" 領取資料,回復"加群",可加群長期交流學習最近寫了很多源碼分析相關的文章,React、Vue 都有,想把我閱讀源碼的一些心得分享給大家。React:React 架構的演變 - 從…

Android布局大全

Android的界面是有布局和組件協同完成的,布局好比是建筑里的框架,而組件則相當于建筑里的磚瓦。組件按照布局的要求依次排列,就組成了用戶所看見的界面。 所有的布局方式都可以歸類為ViewGroup的5個類別,即ViewGroup的5個直接子類…

java實現加減乘除運算符隨機生成十道題并判斷對錯_2020年Java面試題(3年的工作總結),最全的知識點總結...

這份Java面試題整整花了三個月的時間來整理,都是自己再工作中總結出來,記住多少就寫多少,希望這份資料可以幫助你們,文末有其余部分資料的領取方式.Redis12道面試題1.什么是Redis?答:Remote Dictionary Ser…

Linux MySQL 5.1.62 source install

源碼包官網下載:http://dev.mysql.com/downloads/ MySQL手冊官網下載:http://dev.mysql.com/doc/ 安裝ncurses: 1、tar -zxvf ncurses-5.9.tar.gz 2、cd ncurses-5.9.tar.gz ; ./configure; make clean; make; make install 修改時區…

RDLC 示例 文章 1

GotReportViewer的實例,請在下面的連接中下載: http://files.cnblogs.com/waxdoll/RDLC.rar http://www.databasejournal.com/features/mssql/article.php/3605826/Mastering-OLAP-Reporting--Reporting-with-Analysis-Services-KPIs.htm MSSQL Server …

.NET 中的泛型 101

1.1.1 摘要 圖1 C# 泛型介紹 在接觸泛型之前,我們編程一般都是使用具體類型(char, int, string等)或自定義類型來定義我們變量,如果我們有一個功能很強的接口,而且我們想把它提取或重構成一個通用的接口,使…

年底了,給想進階的的前端朋友一些福利

2020 年,很多朋友都經歷了一段比較艱難的求職季。年末,“就業寒冬”迎來了一絲暖陽,很多中大型互聯網公司擴大了未來一年的招聘需求。前不久,字節跳動放出了年末要招 1 萬人的消息,騰訊校招規模也將擴張至 5000 人&…

python oa系統_用python把C#操作OA的例子重寫了一下

#手工chrome.exe --remote-debugging-port9222 --user-data-dir"C:\selenum\AutomationProfile"fromselenium import webdriverfromselenium.webdriver.common.by import Byfromselenium.webdriver.support.ui import WebDriverWaitfromselenium.webdriver.chrome.op…

編譯安裝PHP出現configure: error: MySQL configure failed. Please check config.log的解決方法

以下為google的結果: 方案一: 轉載鏈接:http://www.php-oa.com/2008/03/28/php-make.html 好久沒有編譯安裝過php了,為了玩nginx.沒法子,編譯一次來測試.我加的編譯的參數是: # ./configure –prefix/usr/local/php –with-config-file…