CHOI JAEKEUN

원티드 프리온보딩 7월 3일차


강의날짜 : 2023-07-11

Next.js가 프레임워크인 이유

라이브러리와 프레임워크의 차이

// 폴더 구조로 라우트 구성하기
const pages: Record<string, { default: React.ElementType }> = import.meta.glob(
  "./pages/*.tsx", { eager: true }
);

const routes = Object.keys(pages).map((path) => {
  const name = path.match(/\.\/pages\/(.*)\.tsx/)?.[1] ?? "";
  return {
    name,
    path: `/${name === "index" ? "" : name}`,
    component: pages[path].default,
  };
});

const container = document.getElementById("root") as HTMLElement;

ReactDOM.createRoot(container).render(
  <Router>
    {routes.map(({ path, component: Component }) => (
      <Route key={path} path={path} component={<Component />} />
    ))}
  </Router>
);

넥스트 JS의 기능

next/image 전격 해부!