Javascript 将jQuery插件附加到包含多个jQuery版本的页面上加载了RequireJS的jQuery

Javascript 将jQuery插件附加到包含多个jQuery版本的页面上加载了RequireJS的jQuery,javascript,jquery,jquery-plugins,requirejs,Javascript,Jquery,Jquery Plugins,Requirejs,明天好 我花了很多天寻找类似的问题和答案,但找不到(或者可能理解)任何类似的问题和答案 总结 我正在为当前使用jquery1.4.2的客户机添加一系列页面。我的局限性在于现有代码必须保持原样,不能被充分利用 耶,耶,耶。到目前为止,我所构建的都使用了requirejs2.1.9、jquery1.10.2,以及我自己的模块。我制作了一个jQuery加载程序模块,它调用$.noConflict(true)和所有这些好东西,以确保我的模块得到1.10.2,并且我不会侵入全局必需的1.4.2 下面是我当

明天好

我花了很多天寻找类似的问题和答案,但找不到(或者可能理解)任何类似的问题和答案

总结

我正在为当前使用
jquery1.4.2
的客户机添加一系列页面。我的局限性在于现有代码必须保持原样,不能被充分利用

耶,耶,耶。到目前为止,我所构建的都使用了
requirejs2.1.9
jquery1.10.2
,以及我自己的模块。我制作了一个jQuery加载程序模块,它调用
$.noConflict(true)
和所有这些好东西,以确保我的模块得到
1.10.2
,并且我不会侵入全局必需的
1.4.2

下面是我当前的RequireJS配置的类似示例:

{
    baseUrl: '/some/path',
    paths: {
        'jquery': 'lib/path/jquery',
        'jquery-loader': 'lib/path/jquery-loader',
        'jquery-validator': 'lib/path/jquery-validator'
    },
    map: {
        '*': {
            'jquery': 'jquery-loader'
        },
        'jquery-loader': {
            'jquery': 'jquery'
        }
    },
    shim: {
        'jquery-validator': ['jquery']
    }
}
问题

一些同事需要在我的新代码中使用一些插件,即
jqueryvalidator

我的问题是,在上面的当前配置中,
jqueryvalidator
,这是一个非AMD插件,尽管进行了整个设置,但它被设置为全局可用的jquery(1.4.2),而不是我的jquery(1.10.2)

我希望所有的新代码不必使用全局可用的jQuery来访问validator插件

问题


我不知道如何才能让它按我所希望的那样运行,但我的问题是:是否真的有任何方法可以让它运行,而无需我进入
jquery validator
并将其包装在定义调用中?

这真的取决于
jquery validator
中的代码。如果它访问全局变量
jQuery
$
,则必须修改文件本身,或者在加载时使用本地版本临时覆盖全局变量。