Angular 2 中的 JavaScript 堆内存不足

标签 javascript angular angular2-routing angular2-forms

我正在使用 Angular CLI。请检查我的 CLI 信息

@angular/cli: 1.2.1
node: 6.10.0
os: win32 x64
@angular/animations: 4.1.1
@angular/common: 4.0.0
@angular/compiler: 4.0.0
@angular/compiler-cli: 4.0.0
@angular/core: 4.0.0
@angular/forms: 4.0.0
@angular/http: 4.0.0
@angular/platform-browser: 4.0.0
@angular/platform-browser-dynamic: 4.0.0
@angular/router: 4.1.1

当我使用 ng serve --aot 时,出现以下错误。

最近几次 GC

893427 ms: Mark-sweep 1344.1 (1434.3) -> 1339.9 (1434.3) MB, 925.7 / 0.0 ms [allocation failure] [GC in old space requested]. 894468 ms: Mark-sweep 1339.9 (1434.3) -> 1339.9 (1434.3) MB, 1040.5 / 0.0 ms [allocation failure] [GC in old space requested]. 895402 ms: Mark-sweep 1339.9 (1434.3) -> 1339.6 (1418.3) MB, 933.7 / 0.0 ms [last resort gc]. 896331 ms: Mark-sweep 1339.6 (1418.3) -> 1339.8 (1418.3) MB, 928.1 / 0.0 ms [last resort gc].

JS 堆栈跟踪

Security context: 000001AF8A2CFB61 2: /* anonymous */ [C:\project_folder\node_modules\source-map\lib\source-node.js:100] [pc=0000016E99866533] (this=00000346870554E1 ,mapping=000003C18FDC93C9 ) 3: arguments adaptor frame: 3->1 4: InnerArrayForEach(aka InnerArrayForEach) [native array.j...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

最佳答案

尝试修改文件并用以下内容替换它们的内容:(在文件夹中:node_modules\bin)

修改 ng.cmd:

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=5048 "%~dp0\..\angular-cli\bin\ng" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=5048 "%~dp0\..\angular-cli\bin\ng" %*
)

修改 ngc.cmd :

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=5048 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=5048 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
)

关于 Angular 2 中的 JavaScript 堆内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322901/

相关文章:

javascript - 如何响应某个区域外的点击?

javascript - 解析错误的 JSON 并能够显示错误的位置

php - 如何强制浏览器在history.back()之后重新请求页面

angular - 使用特定节点值从现有数组创建新数组

angular - 如何在惰性加载模块中提供服务并将该服务的范围限定为惰性加载模块及其组件?

Angular 2 : Override Router navigate method

javascript - 如何对未注册用户隐藏图像

Angular 6 无法更改主机值

javascript - Typescript/Javascript for 在数组上循环,将键的值作为键值 1 推送到新数组 - 如果已经存在,则递增

javascript - 使用 RouterLink 动态添加元素