개발자
최근에 next.js를 공부하면서 간단한 프로젝트를 만들고 있습니다. 그러다 생긴 궁금점인데 전역 미들웨어를 사용하면 .next/server/pages 안에 페이지.js파일이 생성 안되던데 그러면 SSR이 안되고 있는건가요? 아님 다른 방식으로 SSR이 되고 있는건가요?
답변 2
Next.js 12 이상에서 전역 미들웨어를 사용할 때, 서버에서 미들웨어를 실행하고 결과를 클라이언트에 전달합니다. 따라서 전역 미들웨어가 사용되는 경우, ' .next/server/pages '에 생성되는 페이지 파일이 없어도 SSR(Server Side Rendering)은 정상적으로 작동합니다. 미들웨어는 요청을 처리하기 전에 실행되는 사용자 정의 기능입니다. 전역 미들웨어는 모든 페이지에 적용되며, 요청이 페이지 렌더링 전에 실행됩니다. SSR이 작동하는 방식은 기존과 동일하나, 전역 미들웨어가 추가된 것 뿐입니다. 전역 미들웨어는 ' _middleware.ts ' 파일을 생성하여 사용할 수 있습니다. 해당 파일에 미들웨어 코드를 작성하고, Next.js는 자동으로 이를 감지하여 모든 페이지에 적용합니다. 요약하면, 전역 미들웨어를 사용해도 SSR은 정상적으로 작동합니다. 전역 미들웨어는 요청을 처리하기 전에 실행되는 사용자 정의 기능으로, 페이지 렌더링 과정에 영향을 주지 않습니다.
1 2 3 4 5 6 7 8 9
// _middleware.ts import { NextMiddleware } from 'next/server'; const middleware: NextMiddleware = async (req, ev) => { // 여기에 미들웨어 로직 작성 return ev.next(); }; export default middleware;
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!