使用requirejs碰到如下的问题,我希望在IE9以下的版本中加载selectivizr.js,所以我判断了:
if(browser.desktop && browser.msie && browser.versionNumber < 9){
require('selectivizr');
}
browser是使用的jquery.browser.js插件,但是我用chrome测试发现,无论if表达式返回的是真还是假,require('selectivizr')这句始终会执行。我找遍了github也找不到一个可以简单的条件判断加载的方法,只有一个AMD-feature.js,但是它的使用方法我感觉太复杂了,就没有简单点的办法么?!
以上为关键代码,
callback
中的require
在define
的时候就会被正则cjsRequireRegExp
匹配出来去加载。无论你的callback如何写,只要是
require
都会被 load 等待调用