2016-06-13 12 views
0

Ich mache App mit Angular und verwenden Sie Gulp, um alle Datei css, Javascript zu minimieren. Aber wenn ich gulp build ausführen, um zu minimieren und dann Datei 'index.html' in dist-Ordner ausführen, lädt UI-Router Vorlage nicht. In der Datei html, ein Tag wie folgt: <a ui-sref='link'> LINK </a>. Es ist nett von dir, mir zu helfen! dies Linkcode:UI-Router funktioniert nicht nach Minify mit Gulp

app.js https://gist.github.com/quyen91/d4ca009bb0be0e42a5a9dbded76ec45a

gulpfile.js https://gist.github.com/quyen91/bd04688302847a964e16586f9b468d29

Fehler: https://cdn.pbrd.co/images/1EjGpl8T.png

+0

Fehler in der Konsole gestartet werden soll? –

+0

Fehler: Modul 'undefined' nicht gefunden Fehler: [$ injector: modulerr] Fehler beim Instanziieren des Moduls eckigeShoppingCartApp aufgrund: Ich habe zwei Link gulpfile.js und app.js hinzugefügt. Bitte sehen Sie und helfen Sie mir. – babie

+0

Überprüfen Sie, ob die Reihenfolge der Konkordierung der Dateien korrekt ist. –

Antwort

2

Der Ui Router und viele Fabriken hören normalerweise auf zu arbeiten, denn wenn wir nicht verkleinern, injizieren wir immer die richtigen Namen ihrer Provider in die Parameter von Controllern oder config oder run oder irgendetwas anderes. Aber wenn minimiert, was passiert

ist
run(function($state,$rootScope,$http){}) 
would become 
run(function(x,y,z){}) 

Dies verursacht das Problem ..

So ist es immer eine gute Praxis, die Namen der Anbieter gesondert zu schreiben. So ist die Funktion wird

run(['$state','$rootScope','$http',function($state,$rootScope,$http){}]); 
to 
run(['$state','$rootScope','$http',function(x,y,z){}]); 

aber hier sind die Anbieter der Variablen korrekt sind, so dass es keinen Fehler verursacht.

In Ihrem Fall sollte die run-Methode wie

.run(['$rootScope', '$state', 'auth', 'jwtHelper', '$location', 'store',function($rootScope, $state, auth, jwtHelper, $location, store) { 


    $rootScope.$on('$locationChangeStart', function() { 
    // Get the JWT that is saved in local storage 
    // and if it is there, check whether it is expired. 
    // If it isn't, set the user's auth state 
    var token = store.get('token'); 
    if (token) { 
     if (!jwtHelper.isTokenExpired(token)) { 
     if (!auth.isAuthenticated) { 
      auth.authenticate(store.get('profile'), token); 
     } 
     } 
    } 
    else { 
     // Otherwise, redirect to the home route 
     $location.path('/about'); 
    } 
    }); 

sein und die Konfiguration als

.config(['$stateProvider', '$urlRouterProvider', 'authProvider', '$httpProvider', '$locationProvider', 
    'jwtInterceptorProvider',function ($stateProvider, $urlRouterProvider, authProvider, $httpProvider, $locationProvider, 
    jwtInterceptorProvider) { 
..... 
}]); 
+0

Ich habe es versucht. Aber es funktioniert nicht. Es scheint ein Problem in der Bestelldatei zu sein. Ich versuche eine Lösung zu finden. – babie

+0

Die Reihenfolge der minimierten Dateien in Schluck sollte genau so sein wie in Ihrem index.html Skript src = "". Nach dieser Bestellung ist die Gewissheit, dass es funktioniert, wenn es nicht minimiert wurde. Wenn es nach der Minimierung nicht funktioniert, ist die Bestellung kein Problem. –

+0

Also, können Sie meine gulpfile.js überprüfen? Und Sie denken, was ist ein Problem? – babie

0

Ihr .run und .config Block ist nicht sicher minification.

Versuchen Sie dieses für .run:

.run(['$rootScope', '$state', 'auth', 'jwtHelper', '$location', 'store', function($rootScope, $state, auth, jwtHelper, $location, store) { 


    $rootScope.$on('$locationChangeStart', function() { 
    // Get the JWT that is saved in local storage 
    // and if it is there, check whether it is expired. 
    // If it isn't, set the user's auth state 
    var token = store.get('token'); 
    if (token) { 
     if (!jwtHelper.isTokenExpired(token)) { 
     if (!auth.isAuthenticated) { 
      auth.authenticate(store.get('profile'), token); 
     } 
     } 
    } 
    else { 
     // Otherwise, redirect to the home route 
     $location.path('/about'); 
    } 
    }); 

}]); 

das gleiche für config.

+0

Danke. Aber es funktioniert immer noch nicht, wenn ich mich so ändere. – babie

+0

@babie bitte posten Sie einen vollen Fehler, warum es fehlschlägt – eenagy

+0

siehe Bildfehler. [link] (http://pasteboard.co/1EjGpl8T.png) – babie

Verwandte Themen