AngularJS 配置结构

AngularJS Configuration Structure

我想总结一个块中的所有模块配置,但它不起作用,我没有收到任何错误消息。

以下作品:

angular.module('myApp', [
    'ngRoute',
    'oc.lazyLoad',
    'myApp.login',
]).
config(
    [
        '$routeProvider', function($routeProvider) {
            $routeProvider
                .otherwise({redirectTo: '/login'});
        }
    ]
);


angular.module('myApp').config(
    function($ocLazyLoadProvider) {
        $ocLazyLoadProvider.config(
            {
                modules: [{
                    name: 'icons_and_fonts',
                    files: [
                        'components/font-awesome/css/font-awesome.min.css',
                        'components/weather-icons/css/weather-icons.min.css'
                    ]
                }],
                debug: true,
                events: true
            });
    }
);

但是如果我想把$ocLazyProvider集成到上面的配置块中,是不行的,下面的代码不行:

config(
    [
        '$routeProvider', function($routeProvider) {
            $routeProvider.otherwise({redirectTo: '/login'});
        }
    ],
    [
        '$ocLazyLoadProvider', function($ocLazyLoadProvider) {
        $ocLazyLoadProvider.config(
                {
                    modules: [{
                        name: 'icons_and_fonts',
                        files: [
                            'components/font-awesome/css/font-awesome.min.css',
                            'components/weather-icons/css/weather-icons.min.css'
                        ]
                    }],
                    debug: true,
                    events: true
                }
            )
        }
    ]
);

可能是什么问题?

您应该将单个 array/function 传递到配置块,而不是多个。您可以在一个函数中执行这两种配置,看起来像:

config(['$routeProvider','$ocLazyLoadProvider',function($routeProvider,$ocLazyLoadProvider) {
        $routeProvider.otherwise({redirectTo: '/login'});
        $ocLazyLoadProvider.config(
                {
                    modules: [{
                        name: 'icons_and_fonts',
                        files: [
                            'components/font-awesome/css/font-awesome.min.css',
                            'components/weather-icons/css/weather-icons.min.css'
                        ]
                    }],
                    debug: true,
                    events: true
                }
            )
        }
    ]
);