Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
优化代码时使用JavaScript和Require.JS选择jQuery 1.9或2.0_Jquery_Requirejs - Fatal编程技术网

优化代码时使用JavaScript和Require.JS选择jQuery 1.9或2.0

优化代码时使用JavaScript和Require.JS选择jQuery 1.9或2.0,jquery,requirejs,Jquery,Requirejs,在升级到jQuery2.0后,我的应用程序在IE8及以下版本上停止工作,我遇到了一些问题。应用程序当前使用Require.JS模块化我的代码 我找到了一个非常好的浏览器条件检查解决方案。但我的应用程序也使用了所描述的优化来缩小代码。因此,我有一个app.build.js,它如下所示: ({ appDir: '../', baseUrl: 'js/', dir: '../../v3-build', locale: 'en-us',

在升级到jQuery2.0后,我的应用程序在IE8及以下版本上停止工作,我遇到了一些问题。应用程序当前使用Require.JS模块化我的代码

我找到了一个非常好的浏览器条件检查解决方案。但我的应用程序也使用了所描述的优化来缩小代码。因此,我有一个app.build.js,它如下所示:

({
appDir:         '../',
baseUrl:        'js/',
dir:            '../../v3-build',
locale:         'en-us',
paths: {
    'modernizr':                'libs/modernizr-2.5.3',
    'jQuery':                   'libs/jquery/jquery-2.0.0',
    'underscore':               'libs/underscore-1.4.4',
    'backbone':                 'libs/backbone-0.9.9',
    'bootstrap':                'libs/bootstrap/bootstrap'        

    // Application - bootstrap for frontend app
    'application':              'application'
},
shim: {
    'jQuery': {
        exports:                '$'
    },

    'underscore': {
        deps:                   ['jQuery'],
        exports:                '_'
    },

    'backbone': {
        deps:                   ['jQuery', 'underscore'],
        exports:                'Backbone'
    },

    'application':              ['jQuery']
},
optimize:                   'uglify2',
modules:        [
    {
        name:       'main'
    }
]
})


现在我如何在这里为jquery路径添加检查

如果希望在运行时确定jQuery版本,则不能将其包含在r.js创建的包中。您需要告诉优化器使用特殊选项将其删除,例如:

paths: {
    jquery: "empty:"
}

我不确定您是否为所有这些麻烦节省了大量带宽,但我想如果您在运行时为他们提供一个CDN路径,应该会有所帮助。

为什么不使用jQuery 1.9,以便获得所需的IE支持?确保应用程序针对多个版本的资产运行是没有意义的。是的,我知道。这是我想到的第一个解决方案。但只是想知道是否有办法做到这一点