升级到jQuery 2.0之后我遇到了问题我的应用程序停止了在IE8上工作而不是更少。该应用程序目前使用Require.JS来模块化我的代码。
我找到了一个非常好的解决方案here用于浏览器的条件检查。但我的应用程序还使用here描述的优化来缩小代码。所以我有一个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路径检查?
答案 0 :(得分:2)
如果要在运行时决定jQuery版本,则不能将其包含在r.js创建的包中。您需要告诉优化器使用特殊的"empty:" directive将其遗漏,例如:
paths: {
jquery: "empty:"
}
不确定是否为所有这些问题节省了大量带宽,但我想如果你在运行时为他们提供一条应该有用的CDN路径。