Angular 7 - JavaScript 堆内存不足错误

Angular 7 - JavaScript heap out of memory error

在 Angular 7 应用程序中,当我执行 ng serve 命令时,它抛出 "JavaScript heap out of memory" 错误。

从不同的SO答案来看,我了解到问题是由于Node.js内存分配不足造成的。正如他们的回答中提到的,通过执行以下命令,我能够 compile/build angular 应用程序。

node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng serve

但是我需要在 package.json 或一些配置文件中编写这段内存分配代码,这样我就不需要每次都执行整个命令。同样期望,代码逻辑应适用于所有环境,并且在更高环境中构建期间不应产生任何问题。

有人可以帮我解决这个问题吗?下面是我的 package.json 代码。

"scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.config.json",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

第一个运行这个:

 npm install -g increase-memory-limit 

然后将此行添加到您的 package.json 文件中:

"myCustomMemoryComm ": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng"

像这样:

"scripts": {
            "ng": "ng",
            "start": "ng serve --proxy-config proxy.config.json",
            "build": "ng build",
            "test": "ng test",
            "lint": "ng lint",
            "e2e": "ng e2e",
            "myCustomMemoryComm": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng"
          },

那么你的进一步命令将是每次 运行ning 项目 (serve):

npm run myCustomMemoryComm -serve

或在控制台上直接 运行 这个:

 node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng

对于生产版本

  node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/your-project-name/ --prod=true