Javascript Fileupload不适用于RequireJS

Javascript Fileupload不适用于RequireJS,javascript,jquery,asp.net,file-upload,requirejs,Javascript,Jquery,Asp.net,File Upload,Requirejs,我在使用requirejs加载文件上载时遇到问题。它给我的错误是: TypeError: this._on is not a function 我猜这是因为fileupload也需要加载jquery.ui.widget。 所以我试着导入lib,但我似乎无法正确地实现这一点。有人能帮我如何正确加载吗 代码如下: require.config({ paths: { 'jQuery': 'lib/jquery-1.10.2.min', 'jQuery-ui': 'lib/jq

我在使用requirejs加载文件上载时遇到问题。它给我的错误是:

TypeError: this._on is not a function
我猜这是因为fileupload也需要加载jquery.ui.widget。 所以我试着导入lib,但我似乎无法正确地实现这一点。有人能帮我如何正确加载吗

代码如下:

    require.config({
paths: {
    'jQuery': 'lib/jquery-1.10.2.min',
    'jQuery-ui': 'lib/jquery-ui-1.10.3', 
    'jQuery-ui-widget' : 'jquery.ui.widget',
    'bootstrap': 'lib/bootstrap.min',
    'jquery-iframe': 'jquery.iframe-transport',
    'fileupload': 'jquery.fileupload',
},
shim: {
    'jQuery': {
        exports: '$'
    },
    'jQuery-ui': {
        deps: ['jQuery'],
        exports: '$'
    },
    'jQuery-ui-widget': {
        deps: ['jQuery', 'jQuery-ui-widget']
    },
    'bootstrap': {
        deps: ['jQuery', 'jQuery-ui']
    },
    'fileupload': {
        deps: ['jQuery', 'jQuery-ui', 'jquery-iframe']
    }
},
// only for development purporses:
urlArgs: "bust=" + (new Date()).getTime()
})); 要求(['jQuery','jQuery ui','bootstrap','layout','menu','modal','table','form','fileupload'],函数($,jqueryUi,_bootstrap,layout,menu,modal,table,form,fileupload){


您的配置存在多个问题:

  • jQuery不需要垫片,在不需要垫片的地方使用垫片可能会导致问题

  • jQuery将其模块名称硬编码为
    jQuery
    (全部小写)因此,您不能在名称
    jQuery
    下引用它。您可以使用配置将
    jQuery
    映射到
    jQuery
    ,但您当前的配置中没有这样的
    map
    。我建议全面使用
    jQuery
    ,这是我看到的几乎每个项目的当前做法使用RequireJS和jQuery

  • 我还建议您在配置中使用RequireJS,以便更好地诊断模块加载故障

    $(document).ready(function () {...