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

时间:2014-07-12 19:08:55

标签: javascript requirejs amd

我正在尝试基于fileReader支持定义视图(模块)。根据支持,涉及不同的模板/模块。实现这一目标的最佳方法是什么?

我的第一个想法是:

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

   var reference;

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

   // rest of module definition
})

但这显然无法完成所有的异步性质。

1 个答案:

答案 0 :(得分:0)

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

require.config({
    path: {
        myModule: myUtils.isBrowserSupportFileReader ? 'myModule/fileReader' : 'myModule/noFileReader'
    }
});

如果稍后您需要使用almond.js编译软件包,则可以为新旧浏览器创建两个软件包。