我们的Next.js应用程序的开发环境存在问题。
问题
我们的Javascript堆不断耗尽内存。以下是特定的错误日志:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: 0x10003ae75 node::Abort() [/usr/local/bin/node]
 2: 0x10003b07f node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
 3: 0x1001a7ae5 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
 4: 0x100572ef2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
 5: 0x10057c3f4 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
 6: 0x10054e1e4 v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
 7: 0x10067fd99 v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [/usr/local/bin/node]
 8: 0x1001c587d v8::String::Utf8Length() const [/usr/local/bin/node]
 9: 0x10004e7b6 node::Buffer::(anonymous namespace)::ByteLengthUtf8(v8::FunctionCallbackInfo<v8::Value> const&) [/usr/local/bin/node]
10: 0x2b9f4f0078a1
Abort trap: 6
具体来说:我注意到了aresomewhatsimilar的问题,但是当我们尝试运行像这样的Node命令时:node --max_old_space_size=4096 node_modules/.bin/react-scripts start(一种在其他地方提出的解决方案),应该为Node分配更多的内存,我们遇到了问题。看来这将为某些功能分配额外的内存(并且当为特定文件分配更多的内存时,我也已经看到了这种方法),但是当您运行像npm run dev这样的命令来启动时,我不确定如何做到这一点。您的开发服务器。
有任何想法吗?
我们技术栈的核心部分
  • “@ material-ui/core”:“^ 4.0.0-alpha.8”,
  • “@ stripe/react-stripe-js”:“^ 1.1.2”,
  • “cors”:“^ 2.8.5”,
  • “firebase”:“^ 7.14.4”,
  • “next”:“^ 9.5.2”,
  • “react”:“^ 16.8.6”,
  • “react-query”:“^ 2.12.1”,
  • 最佳答案

    运行npm run dev只需在package.json文件中调用dev脚本即可。
    看起来应该像这样:

    "dev": "next",
    
    您可以添加希望发送到 Node 的任何标志,例如:
    "dev": "NODE_OPTIONS=\"--max_old_space_size=4096\" next",
    

    09-30 13:01
    查看更多