首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt build在使用auth0时生成错误

grunt build在使用auth0时生成错误
EN

Stack Overflow用户
提问于 2016-05-17 19:15:54
回答 1查看 58关注 0票数 1

我在本地使用angularjs创建了一个迷你项目,在控制台中一切正常,没有错误,但在使用grunt build构建项目后,没有任何工作,这是错误:

代码语言:javascript
复制
vendor.ce3c01a3.js:2 Error: [$injector:unpr] Unknown provider: aProvider <-a
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=aProvider%20%3C-%20a
at vendor.ce3c01a3.js:1
at vendor.ce3c01a3.js:1
at Object.d [as get] (vendor.ce3c01a3.js:1)
at vendor.ce3c01a3.js:1
at d (vendor.ce3c01a3.js:1)
at e (vendor.ce3c01a3.js:1)
at Object.g [as invoke] (vendor.ce3c01a3.js:1)
at request (angular-jwt.js:48)
at g (vendor.ce3c01a3.js:3)
at vendor.ce3c01a3.js:3(anonymous function) @ vendor.ce3c01a3.js:2
vendor.ce3c01a3.js:2 Error: [$compile:tpload] Failed to load template:      views/customersReport.html (HTTP status: undefined undefined)
http://errors.angularjs.org/1.5.5/$compile/tpload? p0=views%2FcustomersReport.html&p1=undefined&p2=undefined
at vendor.ce3c01a3.js:1
at i (vendor.ce3c01a3.js:3)
at g (vendor.ce3c01a3.js:3)
at vendor.ce3c01a3.js:3
at o.$eval (vendor.ce3c01a3.js:3)
at o.$digest (vendor.ce3c01a3.js:3)
at o.$apply (vendor.ce3c01a3.js:3)
at vendor.ce3c01a3.js:1
at Object.g [as invoke] (vendor.ce3c01a3.js:1)
at g (vendor.ce3c01a3.js:1)(anonymous function) @ vendor.ce3c01a3.js:2

下面是我的app.js代码:

代码语言:javascript
复制
'use strict';

 var app = angular
   .module('sampleapp', [
     'ngAnimate',
     'ngMaterial',
     'ngAria',
     'ngCookies',
     'ngMessages',
     'ngResource',
     'ngRoute',
     'ngSanitize',
     'auth0',
     'angular-storage',
     'angular-jwt'
   ]);

   app.config(function($routeProvider, authProvider, $httpProvider,         $locationProvider, jwtInterceptorProvider) {

  $routeProvider
    .when( '/createAccount', {
      controller: 'CreateAccountCtrl',
      templateUrl: 'views/admin/createAccount.html',
      pageTitle: 'Homepage',
      requiresLogin: true
    })
    .when( '/login', {
      controller: 'LoginCtrl',
      templateUrl: 'views/admin/login.html',
      pageTitle: 'Login'
    })
    .when( '/users', {
      controller: 'UserManagementCtrl',
      templateUrl: 'views/admin/usersManagment.html',
      pageTitle: 'Account'
    })
    .when( '/adduser', {
      controller: 'AccountCtrl',
      templateUrl: 'views/admin/addUser.html',
      pageTitle: 'Invite User'
    })
    .when( '/account', {
      controller: 'AccountCtrl',
      templateUrl: 'views/admin/account.html',
      pageTitle: 'My account'
    })
    .when( '/', {
      controller: 'CustomersReportCtrl',
      templateUrl: 'views/customersReport.html',
      pageTitle: 'Customers Report'
    })
    .when( '/customers/:action/:customerId?', {
      controller: 'CustomersCtrl',
      templateUrl: 'views/addCustomer.html',
      pageTitle: '{{action}} Customer'
    })

    .when( '/loading', {
      controller: 'LoadingCtrl',
      templateUrl: 'views/loading.html'
    })
     .when( '/signin', {
      controller: 'SigninCtrl',
      templateUrl: 'views/signin.html'
    })
    .when( '/myAccount', {
      templateUrl: 'views/myAccount.html',
      pageTitle: 'My Account'

    })
    .otherwise({
      redirectTo: '/',
      requiresLogin: true
    });


   authProvider.init({
     domain: myDomain,
     clientID: myClientID,
     loginUrl: '/login'
   });

   authProvider.on('loginSuccess', function($location, profilePromise, idToken, store, datastoreUser) {

    console.log("Login Success");

    profilePromise.then(function(profile) {
      store.set('profile', profile);
      store.set('token', idToken);

      datastoreUser.getUserIdentity(profile.email).then(function(result) {
       console.log(result)
       if (result.data.status == "FOUND") {
        $location.path("/");      
         }else{
        $location.path("/createAccount");      

         }
         });

    });

    $location.path("/loading");  
  });

  authProvider.on('loginFailure', function() {
    alert("Error");
  });

  jwtInterceptorProvider.tokenGetter = function(store) {
    return store.get('token');
  };
  $httpProvider.interceptors.push('jwtInterceptor');
 });


 app.config(function($mdThemingProvider) {$mdThemingProvider.theme('default')
  .primaryPalette('cyan', {
    'default': '800', 
    'hue-1': '50', 
    'hue-2': '500', 
    'hue-3': '900'
  })
  // If you specify less than all of the keys, it will inherit from the
  // default shades
    .accentPalette('grey', {
    'default': '50',
    'hue-1' : '200' 
  });
});


  app.run(function($rootScope,$timeout, auth, store, jwtHelper, $location, datastoreDomain, userSession, datastoreUser, $q) {

  $rootScope.$on('$locationChangeStart', function() {

  var token = store.get('token');
  if (token) {
    if (!jwtHelper.isTokenExpired(token)) {
      if (!auth.isAuthenticated) {
        auth.authenticate(store.get('profile'), token);
        getUserIdentity()
      }
    } else {
      // Either show the login page or use the refresh token to get a new idToken
      $location.path('/login');
     }
    }

  });

 function getUserIdentity(){

datastoreUser.getUserIdentity(auth.profile.email).then(function(result) {
   console.log(result)
  if (result.data.status == "FOUND") {
    console.log(auth)
   var domainPromise =    datastoreDomain.getById(result.data.identity.domainId).then(function(result){
    console.log(result.data)
     userSession.setDomain(result.data);
    });

    console.log(auth.profile.email)
   var userPromise = datastoreUser.getById(auth.profile.email).then(function(result){

    console.log(result);
     userSession.setUser(result.data.user);

     $rootScope.userIdentity = {
        displayName:   result.data.user.displayName,
        email:  result.data.user.email,
        domainName: result.data.user.domain.name,
        domainPlan: result.data.user.domain.plan,
        userRole:   result.data.user.role,
        imageUrl:   result.data.user.imageUrl
     }

    });

    $q.all([domainPromise, userPromise]).then(function(){
     $location.path("/");
    })

 }else{
  $location.path("/createAccount");

   }
  });
}


});

我什么都试过了,但都不管用

EN

回答 1

Stack Overflow用户

发布于 2016-05-17 20:04:59

我找到了我的问题的解决方案,如果其他任何人遇到了同样的问题,使用这个修复程序来解决未知的未知提供者:最小化后的aProvider。

代码语言:javascript
复制
jwtInterceptorProvider.tokenGetter = ['store', function (store) {
    return store.get('token');
}];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37274553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档