前端项目在开发环境跑起来后,修改文件后保存重新编译项目会停止。
会出现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"
个人推荐使用第二种解决办法