我试图得到更多符合W/AMD的,我碰到过jQuery源代码的东西,我只是不能完全承认。jQuery 1.7+,AMD(RequireJS)和全局范围
下面是部分(只在文件结束前找到):
if (typeof define === "function" && define.amd && define.amd.jQuery) {
define("jquery", [], function() { return jQuery; });
}
从我所看到的,AMD的主要观点之一是保持全球范围内的清洁。然而,jQuery选择将自己的引用作为模块返回,但仍感染全局空间。
在我看来,添加“jQuery.noConflict();”就在返回之前就可以解决这个问题,然后将对象作为模块返回。
我知道RequireJS有一些专门用于jQuery的特殊文件,但我不确定它是否需要1.7+。
我的问题是2部分:
1)没有人知道为什么作出这一决定是?
2)由于这种方法不是升级友好的,是否有人熟悉使用标准版本的RequireJS和jQuery的更优雅的解决方案?
http://stackoverflow.com/questions/4858431/use-requirejs-and-jquery-without-clobbering-global-jquery/9593868#9593868 – 2012-03-07 00:14:26