cra로 구성된 어플리케이션에 cna를 사용하지 않고 next.js를 수동으로 도입(migration)하는 방법을 정리해보았습니다.

package.json 수정

pages 폴더에 index.js 생성하기

next 서버 실행

라우팅 방식 변경하기

//기존 App.js

import React from "react";
import SpinButton from "./pages/SpinButton";
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
import "./App.css";
import Carousel from "./pages/Carousel";
import Navigation from "./pages/Navigation";

function App() {
  return (
    <Router>
      <div>
        <nav className="nav">
          <ul className="nav-list">
            <li>
              <Link to="/spinbutton">SpinButton</Link>
            </li>
            <li>
              <Link to="/carousel">Carousel</Link>
            </li>
            <li>
              <Link to="/navigation">Navigation</Link>
            </li>
          </ul>
        </nav>
        <Switch>
          <Route path="/spinbutton">
            <SpinButton />
          </Route>
          <Route path="/carousel">
            <Carousel />
          </Route>
          <Route path="/navigation">
            <Navigation />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

export default App;
import Link from "next/link";

const HomePage = () => {
  return (
    <>
      <Link href="/SpinButton">
        <a>SpinButton 바로가기</a>
      </Link>
      <Link href="/Carousel">
        <a>Carousel 바로가기</a>
      </Link>
      <Link href="/Navigation">
        <a>Navigation 바로가기</a>
      </Link>
    </>
  );
};

export default HomePage;

스크린샷 2021-10-01 오후 6.53.40.png