1

我是新手requirejs,我在加载dropzonejs( http://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。有什么建议吗?

4

1 回答 1

3

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

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

     });  
  });
}

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

于 2013-10-11T20:16:06.770 回答