Cet article présente principalement le problème de débordement de mémoire de JavaScript angulaire4. Maintenant, je le partage avec vous et le donne comme référence.
Lorsque j'écrivais récemment un projet basé sur angulaire4, lors de la construction de --prod, une erreur est soudainement apparue de manière inattendue. L'erreur est la suivante :
70% building modules 1345/1345 modules 0 active <--- Last few GCs ---> ms: Mark-sweep 703.9 (837.9) -> 701.4 (811.9) MB, 331.3 / 0 ms [allocation failure] [GC in old space requested]. ms: Mark-sweep 701.4 (811.9) -> 701.4 (790.9) MB, 350.5 / 0 ms [allocation failure] [GC in old space requested]. ms: Mark-sweep 701.4 (790.9) -> 698.0 (760.9) MB, 433.7 / 0 ms [last resort gc]. ms: Mark-sweep 698.0 (760.9) -> 692.7 (751.9) MB, 328.7 / 0 ms [last resort gc]. <--- JS stacktrace ---> ==== JS stack trace ========================================= Security context: 00000298510373A9 <JS Object> 1: /* anonymous */(aka /* anonymous */) [D:\dev\cobalt_wp\node_modules\webpack\lib\FlagDependencyExportsPlugin.js:77] [pc=0000026F721B51D6] (this=0000029851004131 <undefined>,dep=00000150FC6162C9 <a NormalModule with map 0000025741730C01>) 2: arguments adaptor frame: 3->1 3: InnerArrayForEach(aka InnerArrayForEach) [native array.js:~924] [pc=0000026F71EE3DCD] (this=000002985100413... FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Le processus de résolution de ce problème est très complexe, donc je n'entrerai pas dans les détails ici, je suppose que je ne veux pas savoir, alors parlons de la solution ci-dessous : Le. L'idée principale est d'utiliser l'ancien attribut du moteur v8 : --max_old_space_size pour modifier la mémoire en ligne. Quant à savoir où définir cet attribut, c'est un petit gobelin ennuyeux !Modifier le répertoire : mon-projet. /node_modules/.bin Rechercher ng.cmd :
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=8192 "%~dp0\..\._@angular_cli@1.0.0@@angular\cli\bin\ng" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0\..\._@angular_cli@1.0.0@@angular\cli\bin\ng" %* )
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=8192 "%~dp0\..\._@angular_compiler-cli@4.0.1@@angular\compiler-cli\src\main.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0\..\._@angular_compiler-cli@4.0.1@@angular\compiler-cli\src\main.js" %* )
Comment modifier la valeur d'un certain élément dans les données demandées par vue
Explication détaillée d'utiliser l'échafaudage vue -cli initialise la structure du projet sous le projet Vue
vue et vue-i18n sont combinés pour implémenter une méthode de commutation multilingue pour les données d'arrière-plan
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!