前端项目在开发环境跑起来后,修改文件后保存重新编译项目会停止。

会出现node内存溢出,从而导致项目停止运行;

报错如下

修改node运行时内存上限_解决方案


原因分析:

node每个版本的默认运行内存都不同,版本越低默认运行内存相对而言也较低;

通过了解,可以通过设置 node最大内存来解决node 运行项目时栈溢出问题;

node版本

默认内存 (windows 64位)

16.x

4096 (4GB)

15.x

4096 (4GB)

14.X

4096 (4GB)

13.X

2048 (2GB)

12.X

2048 (2GB)

11.X

1433 (1.4GB)

10.X

1433 (1.4GB)

9.X

1433 (1.4GB)


解决方案:

1:在 命令行 cmd中 设置node环境的变量NODE_OPTIONS指定内存

2:在项目中的 package.json 中 运行项目的脚本 中设置 运行项目的最大node内存

3:其他解决方案...

1. 设置全局环境变量 NODE_OPTIONS指定内存

Unix /Mac Os
export NODE_OPTIONS="--max_old_space_size=4096"

Windows
set NODE_OPTIONS=--max_old_space_size=4096

PowerShell
$env:NODE_OPTIONS = "--openssl-legacy-provider"

  • echo $NODE_OPTIONS(在Linux或Mac环境下)或
  • echo %NODE_OPTIONS%(在Windows环境下)来检查是否设置成功。

2.在项目中 package.json 中 设置修改运行脚本 

"dev": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve"

个人推荐使用第二种解决办法