web-dev-qa-db-fra.com

Angular 2 + CLI: erreur dans la taille maximale de la pile d'appels dépassée

J'ai un problème avec mon projet Ng2 depuis 3 à 4 jours.

Versions.

  • @ angular/cli: 1.0.0-rc.2
  • noeud: 6.9.2
  • os: win32 x64
  • @ angulaire/commun: 2.4.9
  • @ angular/compiler: 2.4.9
  • @ angulaire/noyau: 2.4.9
  • @ angular/formes: 2.4.9
  • @ angular/http: 2.4.9
  • @ angular/platform-browser: 2.4.9
  • @ angular/platform-browser-dynamic: 2.4.9
  • @ angular/router: 3.4.9
  • @ angular/cli: 1.0.0-rc.2
  • @ angular/compiler-cli: 2.4.9

Repro étapes.

Je lance ng serv/ng test ou ng build et j'ai: "ERREUR dans la taille maximale de la pile d'appels dépassée"

Le journal donné par l'échec.

Après "servir"

$ ng serve
** NG Live Development Server is running on http://localhost:4200 **
Hash: a73c4ecdb8222366629e
Time: 16536ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {5} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 41.1 kB {4} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {5} [initial] [rendered]
chunk    {3} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {5} [initial] [rendered]
chunk    {4} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk    {5} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]

ERROR in Maximum call stack size exceeded
webpack: Failed to compile.

Après avoir économisé une fois et tout va bien: 

$ ng serve
** NG Live Development Server is running on http://localhost:4200 **
Hash: a73c4ecdb8222366629e
Time: 16536ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {5} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 41.1 kB {4} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {5} [initial] [rendered]
chunk    {3} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {5} [initial] [rendered]
chunk    {4} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk    {5} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]

ERROR in Maximum call stack size exceeded
webpack: Failed to compile.
webpack: Compiling...
Hash: 02fd7618c3e2de3db52e
Time: 9915ms
chunk    {0} 0.chunk.js, 0.chunk.js.map 926 kB {1} {2} {3} {5} [rendered]
chunk    {1} 1.chunk.js, 1.chunk.js.map 397 kB {0} {2} {3} {5} [rendered]
chunk    {2} 2.chunk.js, 2.chunk.js.map 33.1 kB {0} {1} {3} {5} [rendered]
chunk    {3} 3.chunk.js, 3.chunk.js.map 2.96 kB {0} {1} {2} {5} [rendered]
chunk    {4} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {9} [initial] [rendered]
chunk    {5} main.bundle.js, main.bundle.js.map (main) 41.1 kB {8} [initial] [rendered]
chunk    {6} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {9} [initial] [rendered]
chunk    {7} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {9} [initial] [rendered]
chunk    {8} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk    {9} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.

Et pour "ng test", c'est pareil.

Une idée pour résoudre ça? 

4
Agone

J'ai rencontré la même erreur. Résolu en supprimant les importations inutiles .

La cause de cette erreur est que vous avez une dépendance circulaire du module problème.

Par exemple:

Le module 'A' importe (dépend de) le module 'B'

Le module 'B' importe (dépend de) le module 'A'

Je vous suggère de construire un module commun que d’autres modules importent le module commun. 

Si vous avez des importations inutiles supprimez les importations inutiles .

7
Ömer

Le meilleur moyen que j'ai trouvé pour déboguer ceci est:

ng serve --aot

Il va quitter le bâtiment si une erreur est trouvée avec une erreur compréhensible.

8
Alan Crevon

Si vous getter (ou une méthode) se retourne vous-même, vous obtiendrez une référence circulaire entraînant un dépassement de la taille maximale de la pile d'appels, exception .

public get test(): any {
    return test;

}

Vérifiez votre code pour cela.

2
armyllc

J'ai fait face à ce problème. J'ai oublié d'importer mon module de routeur de fonctionnalités dans le module de fonctionnalités, j'ai donc l'erreur ci-dessus. espérons que cela aide les autres .. 

0
Sathish Kotha

Dans mon cas, cela se produit lorsque vous essayez d'appeler le sélecteur de son propre composant (type de dépendance circulaire).

0
Adithya Sai