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

requireJS defining a module based on browser support

本文关键字:浏览器 支持 模块 一个 定义 requireJS      更新时间:2023-09-26

我试图定义一个基于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编译包,你可以为新的和旧的浏览器创建两个包