前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >终于有人对 jQuery下手了,一键移除项目对它的依赖

终于有人对 jQuery下手了,一键移除项目对它的依赖

作者头像
@零一
发布2021-12-31 20:20:14
5670
发布2021-12-31 20:20:14
举报
文章被收录于专栏:前端印象前端印象

大家好,我是零一。虽然现在很多前端项目都在用Vue、React,但依赖jquery的项目也不少,尤其是年代比较久远的项目,那些还正在维护jquery项目的你,是否想将jquery从你的项目中移除?毕竟这个库那么大,你能用到的代码也就只有15%~30%,而且jquery对各个浏览器的兼容性也做了很大的处理(代码量up up),但其实很多老项目也不会去考虑兼容很边缘的浏览器了,所以其实jquery中兼容处理的代码也没太大必要

最近新发现了一个有意思的工具,仅上线2周,就有600+的Star,它说能帮助你的项目脱离对jquery的依赖,感觉是个不错的想法,一起来看看吧~

使用方式

这个工具的名字叫replace-jquery,据说是能帮你从项目中自动查找所有用到的jquery方法,并生成一套原生js的方法去替代

先来搞一个极简的jquery项目

index.html

index.html
index.html

main.js

main.js
main.js

测试一下页面的功能,是OK的

演示动图
演示动图

接下来我们用 replace-jquery 工具试着移除一下 main.js 中的jquery代码

先全局下载一下

然后在项目目录使用,语法为replace-jquery 目标js文件 生成的js文件

该工具会自动找到你文件中所有用到的jquery方法。此处有一个确认的步骤,你可以选择想要替换哪些方法(默认是全选的)

生成过程
生成过程

按回车键即可完成替换,并生成新的文件

简单看了一下,似乎就是把我们用到的jquery方法替换成了简单的原生方法,并封装在Utils这个类中,那么我们每次调用$("xxx")时,其实就是在调用该类上的方法,那么对这个文件做一些修改

这样就相当于我们在全局模拟jquery定义了一个$方法。此时html文件中的jquery引用就可以删除了,并把我们刚才生成的文件引进来

删除jquery,注入替代品
删除jquery,注入替代品

再去页面中尝试操作dom,可以看到效果跟之前一样,成功!

补充

如果你想用该工具生成jquery所有api的替代文件,即生成一个super-mini-jquery,你可以这么做

将代码混淆丑化以后大概只有10kb

super-mini-jquery包体大小
super-mini-jquery包体大小

因为这个工具刚发布才2个星期不到,只实现了大部分的jquery代码替换,比如ajax暂时是没办法替换的,你如果尝试去替换,工具也会提醒你

无法替换ajax
无法替换ajax

总的来说,这个工具想法不错,希望后期能支持更多的语法替换!

我是零一,分享技术,不止前端。关注我,了解更多前端新姿势~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用方式
  • 补充
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档