angular npm run build 报错 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
今天在打包时发现此错误(angular7)
主要原因是包体太大,堆栈溢出。解决方法就是提高内存限制,具体操作:
90% chunk assets processing
<--- Last few GCs --->
[5040:000001E0B2691F30] 453360 ms: Mark-sweep 2025.1 (2051.3) -> 2024.4 (2051.6) MB, 1458.8 / 0.3 ms (average mu = 0.106, current mu = 0.020) allocation failure scavenge might not succeed
[5040:000001E0B2691F30] 454214 ms: Mark-sweep 2025.2 (2051.6) -> 2024.6 (2051.3) MB, 849.4 / 0.2 ms (average mu = 0.068, current
mu = 0.005) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 00007FF68F0BB3BD]
Security context: 0x00cb066808d1 <JSObject>
1: new Set(aka Set) [000000CB06694031](this=0x01a3bc200591 <the_hole>)
2: ConstructFrame [pc: 00007FF68F03B9FA]
3: getFinalName(aka getFinalName) [000001848E601089] [C:\Users\w-weilong\Desktop\heavy_mach_system\node_modules\webpack\lib\optimize\ConcatenatedModule.js:~116] [pc=00000161AD10FF1E](this=0x01a3bc2004b1 <undefined>,0x01be400b6411 <Obj...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF68E4A5EBF napi_wrap+114095
2: 00007FF68E450B46 v8::base::CPU::has_sse+66998
3: 00007FF68E451946 v8::base::CPU::has_sse+70582
4: 00007FF68EC66E4E v8::Isolate::ReportExternalAllocationLimitReached+94
5: 00007FF68EC4EF21 v8::SharedArrayBuffer::Externalize+833
6: 00007FF68EB1B18C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436
7: 00007FF68EB263C0 v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312
8: 00007FF68EB22EE4 v8::internal::Heap::PageFlagsAreConsistent+3204
9: 00007F
解决方法
"build:prod": "npm run build -- --prod --build-optimizer --baseHref=./",
// 打包命令 添加 --build-optimizer