使用外部模块(jQuery,Angular等)很糟糕?

时间:2018-02-16 07:46:06

标签: javascript jquery html module

英语不是我的第一语言。对不起..
我总是试图避免使用像jQuery,Angular等外部模块。

在jQuery中,

$('.desc').addClass('active');

这可以像

那样
function addClasses(className, class)
{
    cl = doc.getElementsByClassName(className);
    len=cl.length;
    for(var i=0;len<i;i++)
    {
        cl[i].classList.add(class);
    }
}

addClasses('desc', 'active');

它更长但它的行为也相同我们可以保存85kb的jQuery脚本文件。

我认为这种方法并不坏,并相信它可以减少更多资源并提高性能。如果您在社区中共享一些代码而无需安装外部模块,它可以直接应用...将它们添加到文档中......我真的很讨厌这些东西。

但我经常使用Codepen.io,甚至在这里使用stackoverflow社区,它们都使用jQuery或一些外部模块,尽管它可以替代单行代码。
我错了吗?是jQuery和其他外部模块不影响性能和资源的事情?因为实际上,它更容易使用,因此,它使脚本更短。

2 个答案:

答案 0 :(得分:1)

jQuery只是一个库,它包含与提供的addClasses函数非常相似的方法。如果您是最小化杀手&#34;,当然,您可以创建自己的一组方法,只有您真正需要的方法,或者只使用本机Javascript而不创建这样的方法(人们在某种程度上没有jQuery而离开) 。但jQuery并不是很重,我在使用它时没有看到太多问题。

答案 1 :(得分:1)

一切都取决于你正在建设什么。

jQuery实际上是一组有用的快捷方式,就像你注意到的那样。由于它的简单性,它非常吸引人,主要是年轻的开发者。但是it has its flaws

Angular(和React,AngularJS等)是Web应用程序框架,远远超出了jQuery。使用其中一个将帮助您构建具有自己的生态系统的应用程序。框架是一个设计系统,它为您提供工具,但需要遵循它们的结构,原理图等。例如,在React和Angular中,您必须在JavaScript代码中构建视图(html),然后将其注入到DOM。

Mecki gave a great response关于库(jQuery,Mootools等)与框架(Angular,React,Ember)之间的差异。

最重要的是,想想你正在建设什么。如果事情很少,逻辑很少,可以考虑使用纯JavaScript。如果您(或您的团队)更喜欢jQuery,请尝试一下,看看性能是否可以接受。实际上,编写JavaScript代码相当容易,jQuery等效的代码性能较差。如果更大的东西,尝试一个前端框架,就像我提到的那样。请记住,他们的学习曲线很陡峭。所有五分钟的教程都会向您展示绳索,但进一步冒险将需要您和您的团队的大量工作。

最后一点是,现在85KB的JavaScript代码实际上并不算什么,因为浏览器缓存和连接每天都变得更快。如果您的捆绑包为+ 5MB,那么您开始担心; - )