RequireJS Optimization打破模块依赖

时间:2016-03-03 13:11:03

标签: javascript requirejs momentjs r.js angular-moment

所以我试图使用RequireJS中的r.js将我的所有javascript模块编译成一个文件。虽然代码保留在单独的文件中,但脚本运行得很好。但是在r.js将它们全部放在同一个文件中后,momentTimezones似乎没有被加载。 angularMoment模块使用它们,只有片刻被加载。

这是我使用my main.js的垫片:

var year = $('#year').val();
var month = $('#month').val();
var week = $('#week').val();

//some more code...where I get stuck

if (year != '#' && month != '#' && week  != '#') {
     window.location = year + '/' + month + '/' + week + '/monday.html';
}

这是我的r.js构建配置:

shim: {
    angular: {
        exports: 'angular' 
    },
    uiRouter: ['angular'],
    ngResource: ['angular'],
    ngAnimate: ['angular'],
    angularLocaleSweden: ['angular'],
    angularMoment:{
        deps: ['angular', 'momentTimezones', 'moment'],
        exports: 'angularMoment'
    },
    uiModal: ['angular'],
    angularConfirm: ['uiModal'],
    lodash: {
        exports: '_'
    },
    jquery: {
        exports: '$'
    },
    angularToastr: ['jquery', 'angular'],
    'jquery.signalr': ['jquery'],
    'signalr.hubs': ['jquery.signalr'],
    'ng-file-upload': ['angular'],
    'ng-file-upload-shim': ['angular'],
    'ng-img-crop': ['angular']
}

当我尝试运行我编译的main.js时,我得到:

({
    baseUrl: './Client',
    mainConfigFile: './Client/main.js',
    name: 'main',
    out: './Client/main.min.js',
    //wrapShim: true,
    optimize: 'none',
    //findNestedDepencies: true
})

TypeError: moment.utc(...).tz is not a function

其他一切都有效。 我查看了编译后的main.js,并在moment.js的内容之后和angularMoment.js的内容之前,在那里定义了时刻时区的内容

0 个答案:

没有答案