我已经无数次地搜索了这个问题,从来没有找到满意的答案。大多数答案似乎只是说“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?
- jQuery是一个相当大的和臃肿的框架,现在使用BS插件任何网站将有下载它。当然,BS可以使用纤薄的版本(在他们的快速入门页面中说明),但即使这样也会增加可观的加载时间。
- 最近jQuery总体上似乎不再受欢迎,因为像Vue.js和Redux这样的框架越来越流行(请参阅StackOverflow trends)。我知道老!=糟糕,jQuery在网络上几乎无处不在,但为什么BS开发人员选择依赖超过十年的框架?
- 在BS之前只需要jQuery为
<script>
就可以了,现在的软件包管理器如NPM,Yarn或Webpack不支持非常明确的依赖关系解决方案。同样,为什么他们不使用某种现代的,基于模块的依赖? - 但最重要的是,在我看来:为什么BS开发人员选择依赖JS框架?在符合标准的浏览器的这个美好时代,jQuery的大部分功能现在可以完成with vanilla HTML/CSS/JS。我们都知道,在创建任何类型的软件包/库时,我们应该尽可能在任何可行的情况下移除其他依赖项,因为用户想要包装而不是其他一些附加垃圾。
那么,是否有一些原因,然后,BS开发人员选择依赖jQuery,尽管上述所有?我可能可以直接向BS开发人员直接询问他们的GitHub页面上的问题,但我希望这些问题能够让未来的Google人员更容易地理解SO问题。
它很受欢迎 - 趋势图显示它仍然高于其他框架。 开发者有写它的经验。 您只需要它用于Bootstrap的交互式元素。 –
看起来,询问导致BS开发团队使用jQuery的动机在这里是非常关键的。为什么不问他们? – trincot
这是更多的意见问题,因为它是目前陷害。您可能可以删除社论,发泄和咆哮,以提高效率。技术上的原因是他们在Javascript实现中使用了Jquery选择器,不管它是否依赖。 – User970008