2015-07-26 2 views
0

Я продолжаю получать эту ошибку в файле client/app.js, поскольку я использую grunt для ее компиляции в производство. У меня никогда не было этой ошибки до разработки. Я не нашел четких указаний относительно того, как исправить это на стороне клиента. Я инициализирую Parse в нижней части страницы.Как вы исправите «Parse» не определен.?

Мои app.js:

'use strict'; 

angular.module('cpApp', [ 
    'ngCookies', 
    'ngResource', 
    'ngSanitize', 
    'ui.router', 
    'ui.bootstrap', 
    'parse-angular', 
    'angularPayments', 
    'elif' 
]) 
    .config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) { 
    $urlRouterProvider 
     .otherwise('/'); 

    $locationProvider.html5Mode(true); 
     $httpProvider.interceptors.push('authInterceptor'); 
    }) 

.factory('authInterceptor', function ($rootScope, $q, $cookieStore, $location) { 
    return { 
    // Add authorization token to headers 
    request: function (config) { 
     config.headers = config.headers || {}; 
     if ($cookieStore.get('token')) { 
     config.headers.Authorization = 'Bearer ' + $cookieStore.get('token'); 
     } 
     return config; 
    }, 

    // Intercept 401s and redirect you to Landing Page 
    responseError: function(response) { 
     if(response.status === 401) { 
     $location.path('/'); 
     // remove any stale tokens 
     $cookieStore.remove('token'); 
     return $q.reject(response); 
     } 
     else { 
     return $q.reject(response); 
     } 
    } 
    }; 
}) 


    .run(function ($rootScope, $location, Auth) { 
     Parse.initialize('key1', 'key2'); 
     // Redirect to card if route requires auth and you're not logged in 
     $rootScope.$on('$stateChangeStart', function (event, next) { 
     Auth.isLoggedInAsync(function(loggedIn) { 
      if (next.authenticate && !loggedIn) { 
      $location.path('/'); 
      } 
     }); 
     }); 
    }); 
+0

Действительно? Нет никого, кто может протянуть руку кому-то, кто пытается развернуть производство в Хероку в первый раз? – rashadb

ответ

0

Проблема была в моей функции конфигурации. Мне нужно было переместить там Парс из забега:

.config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, Parse) { 
     Parse.initialize('Id1', 'Id2'); 
     $urlRouterProvider 
     .otherwise('/'); 

    $locationProvider.html5Mode(true); 
     $httpProvider.interceptors.push('authInterceptor'); 
    }) 
+0

Я сталкиваюсь с аналогичной проблемой. Могу ли я спросить, как вы вводите Parse? – Sam

+1

@Sam Я использую Angular fullstack, поэтому, если у вас есть другая структура, вам может понадобиться внести некоторую корректировку. 1) В вашем app.js angular.module (приложение ', [' parse-angular ',' parse-angleular.enhance ']) 2) В вашем теле index.html. Обязательно поместите его после jquery.js и angular.js Надеюсь, что это поможет. – rashadb

Смежные вопросы