在具有多个版本的jQuery的页面上将jQuery插件附加到RequireJS加载的jQuery

时间:2013-11-17 00:18:26

标签: javascript jquery jquery-plugins requirejs

明天晚上好!

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

摘要

我正在为当前使用jQuery 1.4.2的客户端添加一系列页面。我受限于现有代码必须按原样保留,并且不能充分利用它。

Yadda,yadda,yadda。到目前为止,我构建的所有内容都使用RequireJS 2.1.9jQuery 1.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']
    }
}

问题

有些同事需要在我的新代码中使用一些插件,即jquery-validator

我的问题是,使用上面的当前配置,jquery-validator,这是一个非AMD插件设置为全局可用的jQuery(1.4.2),而不是我的jQuery(1.10.2),尽管整个设置。

我宁愿所有新代码都不必使用全局可用的jQuery来获取验证器插件。

问题

我不知道如何才能按照我的意愿去实现这一目标,但我的问题是:实际上是否有任何方法让我无需进入{{ 1}}并将其包装在一个define调用中?

0 个答案:

没有答案