AngularJS: 注入http拦截器时出错

AngularJS: error injecting http interceptor

我正在使用 AngularJS 实施基于令牌的身份验证。令牌在服务器上创建并返回给客户端。身份验证后,令牌将添加到每个 rest 调用的 header。我创建了一个 authInterceptor:

ristoreApp.factory('authInterceptor', function ($rootScope, $q, $window) {
    return {
        request: function (config) {
            config.headers = config.headers || {};
            if ($window.localStorage.getItem("access_token")) {
                config.headers.Authorization = 'Bearer ' + $window.localStorage.getItem("access_token");
            }
            return config;
        },
        response: function (response) {
            if (response.status === 401) {
                // handle the case where the user is not authenticated
            }
            return response || $q.when(response);
        }
    };
}); 

然后注入我的config.js如下:

ristoreApp
.config(function ($httpProvider, authInterceptor, $routeProvider) {

    $httpProvider.interceptors.push('authInterceptor');

    $routeProvider
.......
})

但是我得到了以下错误:

Failed to instantiate module ristoreApp due to: Unknown provider: authInterceptor

我的拦截器注入方式有什么问题?

当您没有定义

时,会发生无法实例化模块的情况

ristoreApp

在您的路由文件中。