我正在根据angular gulp generator
开发应用。我想使用angular-ui
和bootstrap
组件。我能够构建应用程序,但生成的index.html
文件包含用于boostrap的script
标签,angular ui但此处缺少jquery。
我在bower.js
文件中有jquery,并且运行了bower install
命令。它安装在bower_components
目录中。
浏览器控制台包含错误
Error: Bootstrap's JavaScript requires jQuery
throw new Error('Bootstrap\'s JavaScript requires jQuery')
是否需要向angular app注入查询,或者为什么会发生错误?
答案 0 :(得分:1)
来自FAQs:
Angular是否使用jQuery库?
是的,Angular可以在应用程序被引导时在您的应用程序中使用jQuery。如果你的脚本路径中没有jQuery,Angular会回退到我们称之为jQLite的jQuery子集的实现。
Angular 1.3仅支持jQuery 2.1或更高版本。 jQuery 1.7和更新版本可能与Angular正常工作,但我们不能保证。
使用 jQLite 。猜猜这是你的解决方案。
答案 1 :(得分:1)
问题是亲爱的你正在使用需要jquery的Bootstrap js。
在Angular-ui网站上明确表示只需要bootstrap css和anugular js。
唯一需要的依赖项是:
AngularJS(需要AngularJS 1.3.x,使用1.3.13进行测试)。 0.12.0是 该库的最后一个版本支持AngularJS 1.2.x。
Bootstrap CSS(使用3.1.1版测试)。这个版本的库 (0.13.0)仅适用于版本3.x中的Bootstrap CSS。 0.8.0是 此库的最新版本,支持版本中的Bootstrap CSS 2.3.x版本。
所以根据你的问题。
是否需要向angular app注入查询,或者为什么会出错 发生?
在角度js的背景下根本没有必要。
它显示错误,因为您正在使用boostrap js,您必须在加载之前添加jquery。根据bootstrap。 Link
插件依赖项某些插件和CSS组件依赖于其他组件 插件。如果您单独包含插件,请务必检查 文档中的这些依赖项。另请注意,所有插件都依赖于 jQuery(这意味着必须在插件文件之前包含jQuery)。 请咨询我们的bower.json,了解支持哪些版本的jQuery。
默认情况下,使用了jqulite,但是如果在加载角度js之前添加jquery,它将使用jquery。
希望它有所帮助:)。
答案 2 :(得分:0)
这可以解决您的问题bower install jqlite --save