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

问题描述 投票:0回答:2

英语不是我的第一语言。对不起.. 我总是试图避免使用像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 Script文件。 我认为这种方法并不坏,并相信它可以减少更多资源并提高性能。如果您在社区中共享一些代码而无需安装外部模块,它可以直接应用...将它们添加到文档...我真的很讨厌那些东西。 但我经常使用Codepen.io,甚至在这里使用stackoverflow社区,它们都使用jQuery或一些外部模块,尽管它可以替代单行代码。 我错了吗?是jQuery和其他外部模块不影响性能和资源的事情?因为实际上,它更容易使用,因此,它使脚本更短。

javascript jquery html module
2个回答
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,那么你开始担心;-)


1
投票

jQuery只是一个库,它包含与提供的addClasses函数非常相似的方法。如果你是一个“最小化杀手”,当然,你可以创建你自己的一套方法,只有你真正需要的方法,或者只是使用原生的Javascript而不创建这样的方法(人们在没有jQuery的情况下离开)。但jQuery并不是很重,我没有看到使用它的太多问题。

© www.soinside.com 2019 - 2024. All rights reserved.