为什么Bootstrap需要jQuery?

时间:2017-10-10 20:16:33

标签: javascript jquery twitter-bootstrap javascript-framework

我已多次搜索这个问题,但从未找到满意的答案。大多数答案似乎只是说" yes, Bootstrap plugins do require jQuery"或" yes, you can use BS without jQuery if you don't use the plugins"。 Bootstrap对jQuery的依赖(如quick start中所述)让我觉得这是一个糟糕的设计决策,至少有以下原因:

  1. jQuery是一个庞大而庞大的框架,现在任何使用BS插件的网站都必须下载它。当然,BS用户可以使用细长/缩小的构建(unless they want to use jQuery AJAX),但即使是那些为除了Bootstrap之外的任何东西都不能使用的库添加非显着的加载时间。
  2. jQuery一般似乎最近失宠,因为像Angular和React这样的框架越来越受欢迎(参见StackOverflow trends)。我知道老了!=糟糕,jQuery在网络上几乎无处不在,但为什么BS开发人员选择依赖于一个已有十多年历史的框架呢?
  3. 在BS之前简单地要求jQuery被<script>编辑,不允许使用像Webpack和SystemJS这样的现代捆绑器进行非常清晰的依赖解析。再次,为什么他们没有使用某种基于模块的依赖?
  4. 但最重要的是,在我看来:为什么BS开发人员选择完全依赖JS框架?在这个符合标准的浏览器的美好时代,jQuery的大部分功能现在都可以完成with vanilla HTML/CSS/JS。我们都知道,在创建任何类型的软件包/库时,我们应尽可能尝试删除其他依赖项,因为用户希望该软件包而不是其他一些额外的漏洞。
  5. 那么,有没有什么理由说BS开发人员选择依赖jQuery,尽管如此?我可能只是在他们的GitHub页面上直接向BS开发者询问了一个问题,但我希望未来的googlers能够更容易地解决这些问题。

    更新:根据Bootstrap docs,jQuery依赖项将在&#34;中等范围的v5版本中删除&#34;,所以希望它将在2019年初到达。

2 个答案:

答案 0 :(得分:6)

事后看来很容易判断(因为你做得相当短视),但是在2011年,jQuery并没有被认为是臃肿或过时的,而且是提供简单DOM访问的主要经过验证的库。因此,在这种情况下,使用jQuery非常有意义。

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

答案 1 :(得分:0)

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

如果你真的不想使用Jquery,那么就有一个bootstrap native: http://thednp.github.io/bootstrap.native/