当前位置: 首页 > news >正文

前端开发工具

Lodash 有普通的 CommonJS 版本(通常称为 lodash)和 ES6 模块版本(称为 lodash-es)。它们的主要区别包括:
模块化:lodash 是传统的 CommonJS 模块,可使用 require 或 import 引入;lodash-es 是 ES6 模块版本,通过 import 来引入。
引入普通 lodash:const _ = require(‘lodash’); 或 import _ from ‘lodash’;
引入 lodash-es:import _ from ‘lodash-es’;
Tree Shaking支持
:lodash 传统模块在引入时会将整个库导入,可能导致引入大量不必要的代码;lodash-es 被设计为支持 Tree Shaking,只有实际使用的部分会被打包,能减小最终的文件大小。
如果你的项目使用了 ES6 模块系统,并且关心代码体积,那么推荐使用 lodash-es。如果你使用的是传统的 CommonJS 模块系统,或者不太关心体积,那么使用 lodash 也是可以的。
例如,使用 lodash 的一些常见函数:

 
import _ from 'lodash'; // 数组去重
const uniqueArray = _.uniq([1, 2, 2, 3, 3, 3]); // 深拷贝对象
const copiedObject = _.cloneDeep({ key: 'value' }); // 从对象中选取特定属性
const selectedProperties = _.pick({ name: 'John', age: 25, city: 'New York' }, ['name', 'age']); 
**

除了 Lodash,还有许多其他流行的 JavaScript 工具库,以下是一些常用的库:
D3.js:
一个流行的 JavaScript 数据可视化库,用于创建交互式的数据图表、地图等可视化效果,提供了一系列的 API 和工具。
Three.js:
一款运行在浏览器中的 3D 引擎,用 JavaScript 编写的 WebGL 第三方函数库。通过 Three.js 可以在不使用插件的情况下在网页中创建和展示三维计算机图形,包括摄影机、光影、材质等各种对象。
Chart.js:
一个简单、灵活的 JavaScript 图表工具,是一个基于 HTML5 技术的 JavaScript 图表工具。它支持8种图表类型,每种方式都具有动态效果并且可定制。
Immutable.js:
一个提供不可变数据结构的 JavaScript 库,一旦创建,就不能再被更改的数据。对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对象。
Leaflet:
一个开源并且对移动端友好的交互式地图 JavaScript 库。它大小仅仅只有42KB,并且拥有绝大部分开发者所需要的所有地图特性,简单、高效并且易用。
Underscore:
一个 JavaScript 实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。它弥补了部分 jQuery 没有实现的功能,同时又是 Backbone.js 必不可少的部分。
Hammer.js:
一个轻量级的 JavaScript 库,主要用于处理移动设备上的触摸事件,提供了一种简单易用的方式来创建复杂的触摸交互体验。
Ramda.js:一款实用的 JavaScript 函数式编程库,与其他函数式的库相比,Ramda 的目标更为专注,专门为函数式编程风格而设计,更容易创建函数式 pipeline、且从不改变用户已有数据。
Highlight.js:
一款轻量级的 JavaScript 库,可以自动检测并高亮显示代码片段。它支持多种编程语言,包括但不限于 HTML、CSS、JavaScript、PHP、Python、Ruby 等。

以上就是文章全部内容了,如果喜欢这篇文章的话,还希望三连支持一下,感谢!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 1.pwn的汇编基础(提及第一个溢出:整数溢出)
  • 【python】PyQt5可视化开发,鼠标键盘实现联动界面交互逻辑与应用实战
  • Spring Boot 常用 Starter
  • JavaScript中的拷贝技术探秘:浅拷贝与深拷贝的奥秘
  • 光学传感器图像处理流程(二)
  • [FFmpeg] windows下安装带gpu加速的ffmpeg
  • 高考后的IT专业启航:暑期预习指南与学习路线图
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
  • 微软子公司Xandr遭隐私诉讼,或面临巨额罚款
  • 每天一个数据分析题(四百二十三)- 置信区间
  • 研华PCI-1711板卡在WIN10教育版系统无法安装驱动
  • 【04】微服务通信组件Feign
  • 【Vue3组件】LottieAnimation组件封装,用于流畅的页面动画效果
  • 【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)
  • C/C++高性能网络库libhv
  • [NodeJS] 关于Buffer
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • axios 和 cookie 的那些事
  • DataBase in Android
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JavaScript设计模式与开发实践系列之策略模式
  • Laravel 实践之路: 数据库迁移与数据填充
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • 笨办法学C 练习34:动态数组
  • 聚类分析——Kmeans
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 深入浅出webpack学习(1)--核心概念
  • - 转 Ext2.0 form使用实例
  • 【干货分享】dos命令大全
  • elasticsearch-head插件安装
  • Python 之网络式编程
  • 阿里云服务器购买完整流程
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (2)空速传感器
  • (33)STM32——485实验笔记
  • (a /b)*c的值
  • (ros//EnvironmentVariables)ros环境变量
  • (二)linux使用docker容器运行mysql
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (含笔试题)深度解析数据在内存中的存储
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (论文阅读30/100)Convolutional Pose Machines
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)SvelteKit教程:layout 文件
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十五)使用Nexus创建Maven私服
  • (四)c52学习之旅-流水LED灯
  • (算法)区间调度问题
  • (五)c52学习之旅-静态数码管
  • (转)Sublime Text3配置Lua运行环境
  • (转)关于多人操作数据的处理策略
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (转载)OpenStack Hacker养成指南