اگه تابحال زمان بیلد گرفتن یا ران کردن پروژه ری اکت به همچین اروری برخوردی بیا اینجا که بهت بگم چیکار کنی.
زمانی که دارید فرایند بیلد گرفتن رو طی میکنید تسک منیجر رو باز کنید و از قسمت details نود جی اس رو پیدا کنید و ببینید قبل اینکه به ارور بخورید مموریش تا چند میره مثلا چون مموری جی اس من ۲ گیگ بود تا ۲ میلیون میرفت.
ی روش ساده تر هم هست که میتونید با اجرای این کد تو ترمینال وی اس کد مقدار مموری رو لاگ بگیرید.
node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
برای رفع این ارور باید اپشن max_old_size رو به پروژتون اضافه کنید.
فایل package.json را باز کرده و کد زیر رو جایگزین scripts کنید
"scripts": { "start": "react-scripts --max_old_space_size=4096 start", "build": "react-scripts --max_old_space_size=4096 build", "test": "react-scripts test", "eject": "react-scripts eject" }
نکته قابل توجه اینکه سایز به اینصورت محاسبه میشه:
اندازه ی دلخواه * ۱۰۲۴
من تو مثال بالا مموری رو به ۴ ارتقاع دادم
مقدار generate_sourcemap رو فالس بذارید
Linux:
"build": "GENERATE_SOURCEMAP=false react-scripts build",
Windows:
"build": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build",
کد زیر را در ترمینال وی اس کد اجرا کنید:
Linux:
export NODE_OPTIONS="--max-old-space-size=4096"
Windows:
set NODE_OPTIONS=--max-old-space-size=4096
دستور زیر را تو ترمینال اجرا کنید:
$env:NODE_OPTIONS="--max-old-space-size=4096"
مرسی که تا اخرش خوندی امیدوارم این مقاله بدردت خورده باشه