0

最適化を使用しなくても、アプリケーションは正常に動作します。しかし、最適化 (JS の縮小) を使用すると、縮小されたファイルは、ホームページをロードするときに「undefined is not a function」をスローします。

問題は次のとおりです。メインの構成ファイルで、以下のように使用しているため、行に読み込みの問題が発生します-- new controller() - undefined

domReady(function() {

        if (domReady) {
    calendar.controller = new controller();
    if (Backbone) {
                Backbone.history.start();
            }
        }
    });

私のbuild.jsは以下です:

({
    'baseUrl': './',
    'dir': '../build/js',
    'paths': {
        'jquery': 'require-jquery',
        'underscore': 'lib/lodash.min',
        'backbone': 'lib/backbone-min',
        'mustache': 'lib/mustache',
        'bootstrap': 'lib/bootstrap.min',
        'fullcalendar': 'lib/fullcalendar.min',
        'controller': 'calendar/controllers/home_controller',
        'jqueryui':'lib/jquery-ui.min',
        'moment':'lib/moment.min',
        'customscroll':'lib/jquery.mCustomScrollbar',
        'mousewheel':'lib/jquery.mousewheel.min',
        'validate':'lib/jquery.validate.min',
        'datatable':'lib/jquery.dataTables.min',
        'blockUi':'lib/jquery.blockUI',
        'fileupload':'lib/fileuploader'
    },
    'shim': {
        'underscore': {
            'exports': '_'
        },
        'backbone': {
            'deps': ['jquery','underscore'],
            'exports': 'Backbone'
        },
        'bootstrap': {
            'deps': ['jquery'],
            'exports': 'jQuery.fn.alert'
        },
        'fullcalendar': {
            'deps': ['jquery']            
        },
        'jqueryui': {
            'deps': ['jquery']            
        },
        'customscroll': {
            'deps': ['jquery']            
        },
        'mousewheel': {
            'deps': ['jquery']            
        },
        'validate': {
            'deps': ['jquery']            
        },
        'datatable': {
            'deps': ['jquery']            
        },
        'fileupload': {
            'deps': ['jquery','jqueryui']            
        },
        'blockUi': {
            'deps': ['jquery']            
        },
        'controller': {
            'deps': ['backbone','fullcalendar','jqueryui','moment','customscroll','mousewheel','validate','datatable','blockUi','fileupload']
        }       

    },
    'locale': 'en-us',
    'optimize': 'uglify',
    'inlineText': true,
    'modules': [

        {
            'name': 'calendar/controllers/home_controller',
            'exclude': ['jquery']

        }

    ]
})

RequireJS バージョン: 2.1.1。

4

1 に答える 1