Essential JavaScript libraries for front-end development
Js Common tool classes
- Lodash, a consistent, modular, high-performance JavaScript utility library
- Ramda, an important library, provides many useful methods that every JavaScript programmer should master
- Day.js, a lightweight JavaScript library for handling times and dates, keeps the API design exactly the same as moment.js, and is only 2KB in size
- Big.js, a small, fast JavaScript library for arbitrary precision decimal arithmetic operations
- Qs, a lightweight JS library for URL parameter conversion (parse and Stringify)
The DOM library
- JQuery encapsulates various DOM/event operations, and the design idea is worth studying for reference
- Zepto, a lightweight version of jquery, is suitable for mobile operations
- Fastclick, an easy-to-use library that eliminates the 300ms delay between a physical click on a mobile browser and the trigger of a click event. The goal is to make your application feel less lag and more responsive without interfering with your current logic.
File processing
- File-saver, a solution for saving files on the client, is perfect for Web applications that generate files on the client
- Js-xlsx, a powerful library for parsing and writing Excel files
Network request
- Axios, a Promise-based HTTP library that can be used to make HTTP requests on Node.js and browsers, supports all modern browsers, even IE8+
- Superagent, an Ajax-based optimization, can be used with the Node.js HTTP client
- Flyio, a promise-based HTTP request library, works in Node. js, Weex, wechat applets, browsers, React Native
The animation library
- Animo.js is a JavaScript animation library that can handle CSS properties, single CSS transformations, SVG or any DOM properties as well as JavaScript objects
- Velocity is an efficient Javascript animation engine that has the same API as jQuery’s $.animate(), while also supporting color animations, transformations, loops, easels, SVG support, and scrolling effects
- Vivus is a zero-dependent JavaScript animation library that allows you to animate in SVG and make it look like it’s being drawn
- Kute.js is a powerful, high-performance and extensible native JavaScript animation engine with basic capabilities for cross-browser animation
- Typed. Js is an easy js plug-in to achieve typing effects
- Fullpage.js is a javascript scrolling animation library that can easily create a full screen scrolling website
- Iscroll mobile terminal use a lightweight scrolling plug-in
Mouse/keyboard related
- KeyboardJS a library used in browsers (compatible with Node.js). It makes it easy for developers to set up key bindings and use key combinations to set up complex bindings.
- SortableJS is a powerful JavaScript drag library
- InteractJS, is a JavaScript module that adds drag and drop, zoom and multi-touch gestures to the latest browsers (including IE8 and above) with inertia and snapshot capabilities. The main purpose of this library is to replace the functionality provided by the jQuery UI. As a result, Web applications written using InteractJS are easier to use on smartphones and tablets. InteractJS is a lightweight library that works with SVG technology to handle multi-touch input, leaving rendering elements and styling them to applications.
Graphics/image processing library
- Html2canvas is a powerful browser web screenshot tool using JS development
- Dom-to-image A library that converts any DOM node into a vector (SVG) or raster (PNG or JPEG) image written in JavaScript
- Pica is a very fast image processing library that resizes images in the browser without pixel distortion
- Lena.js is a lightweight JS library that can add various filters to your images
- Compresse.js A JAVASCRIPT library that uses the native Canvas. toBlob API for lossy image compression
- Fabric.js is an easy-to-use image editor based on the HTML5 Canvas element
- Merge-images is a JS plug-in that combines multiple images into one image
- Cropperjs is a powerful image cutting library that supports flexible image cutting methods
- Grade A library that generates complementary gradient backgrounds based on the first 2 main colors in an image