问题:如何防止AngularJs使用jQuery?
背景:
我正在AngularJs中开发一个可以“插入”现有客户端网站的独立应用程序.
这些客户端网站可能已经使用了jQuery.
如果你已经使用过AngularJs,你可能已经知道它使用了jqLite(jQuery的一个子集).但是如果在Angular应用程序初始化之前加载了jQuery库,那么Angular将使用它.无法保证客户端会在之后加载它.
使用jQuery而不是jqLite库导致了其他问题,我根本不需要jQuery.
有没有办法阻止AngularJs使用它并坚持使用jqLite?
谢谢
编辑1:
让角度包括和使用jQuery时我遇到的问题是:
>“GET http://localhost.dev/angular/js/jquery-1.10.2.js?_=1401232704848 404(未找到)”
>“未捕获的SyntaxError:意外的令牌<” (jQuery v2.1.1文件中的错误,第330行)
我正在使用jQuery-2.1.1进行测试,所以甚至不确定它为什么要寻找版本1.10.2
编辑2:
解决方法
更新:
从v1.4.0-beta.6开始,Angular现在内置支持选择不使用jQuery(或者如果加载了多个版本则使用特定版本): ngJq
从v1.4.0-beta.6开始,Angular现在内置支持选择不使用jQuery(或者如果加载了多个版本则使用特定版本): ngJq
不幸的是,没有内置的方法来禁用jQuery(虽然它听起来像一个非常合理的功能).
两个远非理想的解决方案是:
2.)因为angular使用window.jQuery来寻找…你猜对了… jQuery(假设你可以控制在angular.js之前和之后运行什么脚本),你可以暂时从Angular“隐藏”jQuery:
/* Run before angular.js */ if (window.jQuery) { window.hideJQuery = window.jQuery; window.jQuery = false; } // <script src="angular.js"></script> if (window.hideJQuery) { window.jQuery = window.hideJQuery; window.hideJQuery = undefined; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。