我是requirejs的新手,将dropzonejshttp://www.dropzonejs.com/)作为AMD加载时遇到问题。

我的requirejs配置是:

requirejs.config({
baseUrl: 'js/MV'
,paths: {
            ,jquery: '../libs/jquery-latest'
    handlebars: '../plugins/handlebars'
    ,scrolltofixed: '../plugins/scrolltofixed'
    ,logout: '../logout'
    ,dropzone: '../plugins/dropzoneAmdModule'
    }
});


当我尝试加载dropzone模块时

function _activateDropzone(){
  require(['dropzone'], function(dropzone){
     var pippo = new Dropzone({ //..config

     });
  });
}


logs

Uncaught ReferenceError: Dropzone is not defined


即使我正在加载dropzone-amd-module。
有什么建议吗?

最佳答案

使用RequireJS,您必须在回调函数中使用返回值。在您的示例中,您将dropzone(小写)用作模块的返回值,但是在代码中,您随后将使用Dropzone(大写)。我认为这应该工作:

function _activateDropzone(){
  require(['dropzone'], function(Dropzone){
     var pippo = new Dropzone({ //..config

     });
  });
}


dropzone-amd-module正在检测AMD加载器中正在使用的模块,而不是将Dropzone添加到全局范围,而是将本地值返回到模块加载器。

09-10 11:39
查看更多