Javascript requireJS基于浏览器支持定义模块

Javascript requireJS基于浏览器支持定义模块,javascript,requirejs,amd,Javascript,Requirejs,Amd,我试图定义一个基于fileReader支持的视图(模块)。根据支持情况,会涉及不同的模板/模块。实现这一目标的最佳方式是什么 我的第一个想法是: define([...],function(...){ var reference; if require([...], function( something ){reference = something ) else require([...], function( something ){refere

我试图定义一个基于fileReader支持的视图(模块)。根据支持情况,会涉及不同的模板/模块。实现这一目标的最佳方式是什么

我的第一个想法是:

define([...],function(...){

   var reference;

   if
     require([...], function( something ){reference = something )
   else 
     require([...], function( something ){reference = something )

   // rest of module definition
})

但这显然不符合异步的本质。

最好的方法是在
require.config
部分检测浏览器支持

require.config({
    path: {
        myModule: myUtils.isBrowserSupportFileReader ? 'myModule/fileReader' : 'myModule/noFileReader'
    }
});
如果以后需要使用
almond.js
编译包,可以为新浏览器和旧浏览器创建两个包