Vite与Webpack打包内存溢出问题处理
文章目录
1. Vite
1. 打包错误提示
<--- Last few GCs --->
[31456:00000245F8E00080] 78693 ms: Mark-Compact 4047.1 (4135.9) -> 4035.6 (4140.4) MB, 1905.55 / 0.00 ms (average mu = 0.475, current mu = 0.329) allocation failure; scavenge might not succeed
[31456:00000245F8E00080] 83823 ms: Mark-Compact 4051.8 (4140.4) -> 4040.3 (4144.9) MB, 5028.55 / 0.00 ms (average mu = 0.219, current mu = 0.020) allocation failure; scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF61BBF436F node::SetCppgcReference+15695
2: 00007FF61BB6C686 EVP_MD_meth_get_input_blocksize+76102
3: 00007FF61BB6E471 EVP_MD_meth_get_input_blocksize+83761
4: 00007FF61C5DB281 v8::Isolate::ReportExternalAllocationLimitReached+65
5: 00007FF61C5C4A18 v8::Function::Experimental_IsNopFunction+1336
6: 00007FF61C4260A0 v8::Platform::SystemClockTimeMillis+659696
7: 00007FF61C423128 v8::Platform::SystemClockTimeMillis+647544
8: 00007FF61C43843A v8::Platform::SystemClockTimeMillis+734346
9: 00007FF61C438CB7 v8::Platform::SystemClockTimeMillis+736519
10: 00007FF61C4475DF v8::Platform::SystemClockTimeMillis+796207
11: 00007FF61C1079F5 v8::CodeEvent::GetFunctionName+116773
12: 00007FF5BC65AAFA
ELIFECYCLE Command failed with exit code 134.
2. 命令行方式解决
- 修改前
"scripts": {
"build": "vite build --mode production &&vue-tsc --noEmit",
}
- . 修改后
{
"scripts": {
"build": "node --max_old_space_size=8192 node_modules/vite/bin/vite.js build --mode production &&vue-tsc --noEmit"
}
}
3. 配置环境变量方式解决
1. 设置变量
- 仅当前窗口有效
# windows
set NODE_OPTIONS --max-old-space-size=8192
- 当前用户永久有效
# Windows
setx NODE_OPTIONS --max_old_space_size=8192 # 8GB
2. 配置系统的环境变量
在系统的环境变量中新增环境变量配置,内容如下:
变量名(N): NODE_OPTIONS
变量值(V): --max-old-space-size=8192
2. Webpack
1. 打包错误提示
如下图:
2. 命令行方式解决
- 修改前
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build"
}
- . 修改后
"scripts": {
"dev": "node --max_old_space_size=8192 node_modules/@vue/cli-service/bin/vue-cli-service.js serve",
"build": "node --max_old_space_size=8192 node_modules/@vue/cli-service/bin/vue-cli-service.js build",
}
3. 配置环境变量方式解决
1. 设置变量
- 仅当前窗口有效
# windows
set NODE_OPTIONS --max-old-space-size=8192
- 当前用户永久有效
# Windows
setx NODE_OPTIONS --max_old_space_size=8192 # 8GB
2. 配置系统的环境变量
在系统的环境变量中新增环境变量配置,内容如下:
变量名(N): NODE_OPTIONS
变量值(V): --max-old-space-size=8192