2017-10-10 137 views
1

我已经无数次地搜索了这个问题,从来没有找到满意的答案。大多数答案似乎只是说“yes, Bootstrap plugins do require jQuery”或“yes, you can use BS without jQuery if you don't use the plugins”。引导的jQuery的(在他们的quick start描述)的依赖在我看来是一个设计决策较差,至少有以下原因:Bootstrap为什么需要jQuery?

  1. jQuery是一个相当大的和臃肿的框架,现在使用BS插件任何网站将有下载它。当然,BS可以使用纤薄的版本(在他们的快速入门页面中说明),但即使这样也会增加可观的加载时间。
  2. 最近jQuery总体上似乎不再受欢迎,因为像Vue.js和Redux这样的框架越来越流行(请参阅StackOverflow trends)。我知道老!=糟糕,jQuery在网络上几乎无处不在,但为什么BS开发人员选择依赖超过十年的框架?
  3. 在BS之前只需要jQuery为<script>就可以了,现在的软件包管理器如NPM,Yarn或Webpack不支持非常明确的依赖关系解决方案。同样,为什么他们不使用某种现代的,基于模块的依赖?
  4. 但最重要的是,在我看来:为什么BS开发人员选择依赖JS框架?在符合标准的浏览器的这个美好时代,jQuery的大部分功能现在可以完成with vanilla HTML/CSS/JS。我们都知道,在创建任何类型的软件包/库时,我们应该尽可能在任何可行的情况下移除其他依赖项,因为用户想要包装而不是其他一些附加垃圾。

那么,是否有一些原因,然后,BS开发人员选择依赖jQuery,尽管上述所有?我可能可以直接向BS开发人员直接询问他们的GitHub页面上的问题,但我希望这些问题能够让未来的Google人员更容易地理解SO问题。

+0

它很受欢迎 - 趋势图显示它仍然高于其他框架。 开发者有写它的经验。 您只需要它用于Bootstrap的交互式元素。 –

+0

看起来,询问导致BS开发团队使用jQuery的动机在这里是非常关键的。为什么不问他们? – trincot

+0

这是更多的意见问题,因为它是目前陷害。您可能可以删除社论,发泄和咆哮,以提高效率。技术上的原因是他们在Javascript实现中使用了Jquery选择器,不管它是否依赖。 – User970008

回答

1

在事后很容易判断(因为你正在做的相当短视),但早在2011年的jQuery没有考虑臃肿或过时,并且是提供简单DOM访问的主要验证库。所以在这种情况下,使用jQuery非常合理。

事实上,6年后,可能还没有另一个库具有相同的jQuery的健壮性和功能集。

+0

@Irtialboogie“短视”在这里是恰当的词;我没有意识到自2011年以来BS已经出现了!这几乎可以解释它,尽管我很想知道他们今天是否会做出同样的选择。然而,这篇文章的普遍共识似乎是我应该直接问他们:P – Rabadash8820

0

Jquery是一个流行的框架工作,很多开发人员都有编写它的经验,使他们的文档更容易消化。它也非常擅长处理javascript呈现的很多跨浏览器怪癖。

如果你真的不想使用jQuery,有引导本地: http://thednp.github.io/bootstrap.native/

+1

感谢您的回答!之前我曾遇到过Bootstrap Native,但我总是谨慎使用第三方淘汰赛。尽管如此,它可能值得一试 – Rabadash8820