为什么Bootstrap需要jQuery?

Rab*_*820 18 javascript jquery javascript-framework twitter-bootstrap

我已多次搜索这个问题,但从未找到满意的答案.大多数答案似乎只是说" 是的,Bootstrap插件确实需要jQuery "或" 是的,如果不使用插件,你可以在没有jQuery的情况下使用BS ".Bootstrap对jQuery的依赖(如他们的快速入门所述)让我觉得这是一个糟糕的设计决策,至少有以下原因:

  1. jQuery是一个庞大而庞大的框架,现在任何使用BS插件的网站都必须下载它.当然,BS用户可以使用超薄/缩小的构建(除非他们想使用jQuery AJAX),但即使是那些为除了Bootstrap之外的任何东西都不能使用的库添加非显着的加载时间.
  2. jQuery总体上似乎最近失宠,因为像Angular和React这样的框架越来越受欢迎(参见StackOverflow趋势).我知道老了!=糟糕,jQuery在网络上几乎无处不在,但为什么BS开发人员选择依赖一个已经过去十年的旧框架?
  3. 简单地要求<script>在BS之前编写jQuery 不允许使用现代捆绑器(如Webpack和SystemJS)进行非常清晰的依赖性解析.同样,他们为什么不使用某种基于模块的依赖?
  4. 但最重要的是,在我看来:为什么BS开发人员选择完全依赖于JS框架?在这个符合标准的浏览器的美好时代,jQuery的大部分功能现在都可以使用vanilla HTML/CSS/JS来完成.我们都知道,在创建任何类型的软件包/库时,我们应该尽可能地尝试删除其他依赖项,因为用户需要该软件包而不是其他一些额外的漏洞.

那么,有没有什么理由说BS开发人员选择依赖jQuery,尽管如此?我可能只是在他们的GitHub页面上直接向BS开发人员询问了一个问题,但我希望未来的googlers可以通过这些问题更容易理解这个问题.

更新:根据Bootstrap文档,jQuery依赖项将在"适度范围的v5版本"中删除,所以希望它将在2019年初到达.

Sim*_*ric 7

事后看来很容易判断(因为你做的相当短视),但是在2011年,jQuery并不被认为是臃肿或过时的,并且是提供简单DOM访问的主要经过验证的库.所以在这种情况下,使用jQuery是完全合理的.

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