我正在使用 RequireJS 和 Angular,但它们在我的设置中没有一起工作。当 jQuery 版本为 1.7.2 时,一切正常。但是我想使用 jQuery 1.8.1 和 jQuery UI 和 Angular 应用程序甚至无法用这个初始化我的主模块。
这是问题所在:
区分大小写的变量:jQuery 和 jquery。在 jquery 1.8.1 源代码中,最后他们定义了 window.jQuery。在早期版本 1.7.2 中定义了 window.jquery。
因为我想在我的应用程序中使用 jQuery UI,所以包含文件 jquery-ui-1.8.23.custom.min.js。包含它后,我得到了“jQuery”未定义的错误。
所以,我决定升级我的 jQuery 版本并下载了 1.8.1 版本。在 jQuery 源代码的末尾,我可以看到这个版本定义了 window.jQuery(jQuery UI 需要正确大小写)。
我用 James Burke github 项目的最新版本更新了我的 require-jquery JS,并用 jquery 1.8.1 更新了它。
但是包括更新的 jQuery/RequireJS 项目,angularjs 已经停止工作。
我在 Chrome 控制台中收到此错误:
如果我恢复到 1.7.2 角度作品。或者,如果我编辑 jQuery 文件来定义 window.jquery 而不是 window.jQuery(注意大小写),它会再次起作用。但这意味着 jQuery UI 不会。