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
或$
,则必须修改文件本身,或者在加载时使用本地版本临时覆盖全局变量。