gpt4 book ai didi

jquery - 防止 AngularJs 使用 jQuery 库

转载 作者:行者123 更新时间:2023-12-03 22:56:45 24 4
gpt4 key购买 nike

问题:如何防止 AngularJs 使用 jQuery?

背景:

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

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

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

使用 jQuery 而不是 jqLit​​e 库会导致其他问题,而我根本不需要 jQuery。

有没有办法阻止 AngularJs 使用它而只使用 jqLit​​e?

谢谢

<小时/>

编辑 1:

让 Angular 包含并使用 jQuery 时遇到的问题是:

  1. “获取 http://localhost.dev/angular/js/jquery-1.10.2.js?_=1401232704848 404(未找到)”

  2. “未捕获的语法错误:意外的标记 <” (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;
}

关于jquery - 防止 AngularJs 使用 jQuery 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23900291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com