加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

防止AngularJs使用jQuery库

发布时间:2020-12-17 06:55:32 所属栏目:安全 来源:网络整理
导读:问题:如何防止AngularJs使用jQuery? 背景: 我正在AngularJs中开发一个可以“插入”现有客户端网站的独立应用程序. 这些客户端网站可能已经使用了jQuery. 如果你已经使用过AngularJs,你可能已经知道它使用了jqLit??e(jQuery的一个子集).但是如果在Angular
问题:如何防止AngularJs使用jQuery?

背景:

我正在AngularJs中开发一个可以“插入”现有客户端网站的独立应用程序.

这些客户端网站可能已经使用了jQuery.

如果你已经使用过AngularJs,你可能已经知道它使用了jqLit??e(jQuery的一个子集).但是如果在Angular应用程序初始化之前加载了jQuery库,那么Angular将使用它.无法保证客户端会在之后加载它.

使用jQuery而不是jqLit??e库导致了其他问题,我根本不需要jQuery.

有没有办法阻止AngularJs使用它并坚持使用jqLit??e?

谢谢

编辑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:

我正在使用一种方法,最好不需要修改核心AngularJs文件.

解决方法

更新:
从v1.4.0-beta.6开始,Angular现在内置支持选择不使用jQuery(或者如果加载了多个版本则使用特定版本): ngJq

不幸的是,没有内置的方法来禁用jQuery(虽然它听起来像一个非常合理的功能).

两个远非理想的解决方案是:

1.)Tyler修改Angular源的解决方案.

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读