Runtime
- Next.js에서 런타임은 서버 실행 중 사용 가능함 라이브러리, API, 함수의 기능 등을 의미함
- Next.js에서는 Node.js 런타임, Edge 런타임을 사용 가능함
기본값은 Node.js 런타임이 사용됨
- 페이지별로 runtime 변수를 export해서 런타임 방식을 변경해줄 수 있음
export const runtime = 'experimental-edge';
Runtime Differences
- Edge 런타임은 Node.js API의 하위 집합으로 리소스 사용을 제한해 속도를 향상시킬 수 있음
- Edge 런타임은 Node.js 런타임과 다르게 보안성이 높고, 패키지 크기를 줄일 수 있다는 장접이 있지만, IO가 Fetch만으로 제한적이고, 레이턴시가 매우 느림
- Node.js 런타임은 npm 상의 모든 패키지에 접근할 수 있음
- Node.js 런타임은 모든 IO기능을 제공하며, 레이턴시가 상대적으로 낮다는 장점이 있지만 속도가 상대적으로 느림
- Edge Runtime보다 복잡한 솔루션을 사용해야 하면 서버리스 서비스를 활용할 수도 있음
사용시 콜드 부트 속도가 느리다는 점에 주의해야 함
출처:
https://beta.nextjs.org/docs/rendering/edge-and-nodejs-runtimes