16
EDIT: Dzieje się tylko z IE (testowane na IE10)angularjs nie załadować moduł
Mam app, który ładuje w porządku początkowo jednak, gdy odświeżane daje ten błąd:
SCRIPT5022: No module: myAppModule
myAppModule jest modułem kątowe zdefiniowano w app.js który jest ładowany po załadowaniu angularjs
angular.module('myAppModule', []);
i automatycznego bootstrapped przez:
<html ng-app="myAppModule">
skrypty ładowane są następujące (nie AMD ładowarka):
<script>window.jQuery ||
document.write('<script src="js/vendor/jquery-1.8.0.min.js"></script>')</script>
<script>window.angular ||
document.write('<script src="js/vendor/angular-1.0.2.min.js"></script>')</script>
<script src="js/app.js"></script>
<script src="js/controller.js"></script>
Sądzę, że angularjs jest uzyskiwanie ładowany pierwszy i automatyczne ładowanie początkowe aplikację, ale app.js nie została jeszcze załadowana
Hmm, to bardzo dziwne, AngularJS normalnie rozpocznie moduły doładowania po pełnym załadowaniu. Czy mógłbyś udostępnić trochę więcej informacji: używaną przeglądarkę, metodę ładowania scripsów (prosty tag ze scritami lub AMD) link do aplikacji, więcej kodu itp. Pluj byłby idealny. –
edytowane. Uważam, że AngularJS jest w pełni załadowany, zanim app.js ma szansę załadować? czy to możliwe? – nehz
Z ciekawości: czy można spróbować załadować jquery i kątowe za pomocą zwykłego tagu
Miałem ten sam problem, tylko w IE9. Niższe wersje IE rzeczywiście działały dobrze, podobnie jak nowsze przeglądarki.
Ręczne ładowanie rozwiązało problem, ale spowodowało błąd "Nieznany dostawca" dla filtra, który jest częścią mojego modułu. Zauważ, że filtr nadal działał zgodnie z oczekiwaniami.
Ostatecznie rozwiązaniem, które rozwiązało mój problem i przestałem generować błędy, było po prostu zmienić nazwę pliku modułu tak, aby był taki sam jak moduł.
Więc jeśli nazwa mojego modułu to
myAppModule
, nazwa pliku powinna byćmyAppModule.js
, a niemy_app_module.js
.Źródło
2012-12-19 14:58:37 threeve
Czułem się jak idiota i kiedy znalazłem to, co robię źle, ale w przypadku jesteś podobny do mnie, to oto kilka innych rzeczy do sprawdzenia pierwszy:
Wystąpił błąd w funkcji podrzędnej, który spowodował, że błąd pojawił się dwukrotnie w konsoli. To dlatego, że używam składni takiego:
W pewnym momencie zapomniałem puste nawiasy podczas uruchamiania modułu, więc linia wyglądało to i rzucił ten błąd:
Aby podsumować, upewnij się, że moduł podrzędny jest wykonywany jako pierwszy i nie zawiera błędów.
Źródło
2013-06-08 21:25:49
Nawiasem mówiąc, używając Angular 1.0.6, ładowanie jQuery przed kątowością (zakodowane znaczniki skryptu) powoduje, że IE10 wyrzuca błąd "brak modułu".
Jedyną opcją, którą mogę znaleźć, aby to poprawić jest ręczne ładowanie i zapewnienie, że mój app.js określa, że moduł został załadowany po wszystkich innych odniesieniach do modułu potomnego (jak wspomniano o Barnabie).
Źródło
2013-09-27 20:38:40 Lukus
Ten sam problem wystąpił tylko w IE. Było to spowodowane przez typo (niektóre kot musi wszedł na klawiaturze):
Największy przestrzeń wartości atrybutu typu była przyczyną problemu. Jak tylko została usunięta, aplikacja znowu działała dobrze.
Źródło
2015-12-21 07:40:36
W moim przypadku Internet Explorer nie podobał się funkcji strzałki. Zmiana ich na funkcję() {} notacja rozwiązała problem:
Źródło
2016-04-26 18:22:10