2016-08-29 2 views
0

Ich stieß auf ein Problem über das Wochenende, wo plötzlich angularjs Code auf der Website nicht mehr funktioniert. Während der Zeit, in der es funktionierte und nicht mehr funktionierte, wurden keine Aktualisierungen an Dateien vorgenommen.

Der Fehler in der Konsole ist "Fehler: $ Injektor: Nomod Modul nicht verfügbar". ?

https://docs.angularjs.org/error/ $ Injektor/nomod p0 = bkApp

Hier ist die Seite, die jetzt mit dem Fehler ist gebrochen - http://brookslaw.staging.wpengine.com/our-team/

Hier wird der Header-Code:

<script async src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script> 
<script async src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-route.min.js"></script> 
<script async src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-sanitize.min.js"></script> 
<script async src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-animate.min.js"></script> 
<script async src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-cookies.min.js"></script> 
<script async src="<?php echo get_template_directory_uri(); ?>/js/angular-lazy-img.min.js"></script> 
<!--[if lt IE 9]> 
<script src="<?php echo esc_url(get_template_directory_uri()); ?>/js/html5.js"></script> 
<![endif]--> 
<script async type="text/javascript"> 
    var app = angular.module('bkApp', ['ngAnimate', 'angularLazyImg']); 
</script> 
<script>(function(){document.documentElement.className='js'})();</script> 

Die Seite war funktioniert gut, und aus der Forschung, die ich gemacht habe, scheint es, dass das Modul korrekt aufgerufen wird.

Dank

Antwort

3

Ich denke, Ihr Problem in async ist.

Grundsätzlich werden damit Ihre Skripte asynchron geladen. Das bedeutet, dass Ihr Skript geladen werden kann, bevor angularjs geladen wird, damit Sie Fehler haben.

Sie benötigen synchrones Laden Ihrer Dateien. Sie benötigen die richtige Reihenfolge. Entfernen Sie also async aus Ihren Skripten und versuchen Sie es erneut.

Ich hoffe, es hilft.

Verwandte Themen