$ npx create-next-app next.js-tutorial
# μ€μΉ > ν΄λΉ ν΄λλ‘ μ΄λ > μ€ν νμΈ
$ cd next.js-tutorial
$ npm run dev
create-next-appμΌλ‘ μ€μΉpages ν΄λ μμ κ° νμ΄μ§λ₯Ό λ§λ€λ©΄ λλ€.pages ν΄λ μμ jsνμΌμ λ§λ€λ©΄ λΌμ΄ν
μ΄ λ°λ‘ μ μ©λλ€.pages > about.js νμΌ μμ±http://localhost:3000)μ /aboutμ μμ±νλ©΄ ν΄λΉ νμ΄μ§μ μ°κ²°λ¨about.jsμ λ΄μ©μ΄ 보μ¬μ§λ€.pages > view ν΄λ > [id].js νμΌ μμ±http://localhost:3000/view/[id] : [id]λΆλΆμ μ΄λ€ λ¬Έμλ₯Ό λ£μ΄λ [id].jsμ λ΄μ©μ΄ 보μ¬μ§λ€.$ yarn add semantic-ui-react semantic-ui-css
# Or NPM
$ npm install semantic-ui-react semantic-ui-css
_app.js νμΌ μλ¨μ import "semantic-ui-css/semantic.min.css"; μΆκ°ν΄μ μ¬μ©_app.js_app.jsλ₯Ό μ΄μ©_app.jsλ₯Ό ν΅νλ€.componentDidCatchλ₯Ό μ΄μ©ν΄μ 컀μ€ν
μλ¬ νΈλ€λ§μ ν μ μλ€.// Propsλ‘ λμ΄μ¨ `Component`λ νμ¬ νμ΄μ§λ₯Ό μλ―Έ
// νμ΄μ§ μ νμ `Component` Propsκ° λ³κ²½λλ€.
function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />;
}
_document.jsNext.jsμμ μ 곡νλ documentλ₯Ό 컀μ€ν°λ§μ΄μ§ν μ μλ€.
Next.js νμ΄μ§λ€μ λ§ν¬μ
μ μλ₯Ό 건λλ°κ³ νμ΄μ§λ₯Ό λ§λ λ€
<html>, <head>, <body>λ±μ νκ·Έλ₯Ό μ¬μ©νκΈ° μν΄μλ _document.jsνμΌμ΄ νμμ μ΄λ€
_app.js vs _document.js_app.jsμ _document.jsλ μν μ΄ λ€λ₯΄λ€_app.js_app.js νμΌμ μ¬μ©ν΄μΌ νλ€._document.jsonClickκ°μ μ΄λ²€νΈ νΈλ€λ¬κ° μλνμ§ μλλ€.Head : _app.jsμμ μ¬μ©νλ Headμ _document.jsμμ μ¬μ©νλ Headλ λ€λ₯΄λ€.titleκ°μ μμ±μ λ£μ λ _app.jsμμ λ£κ±°λ κ° νμ΄μ§μμ Headλ₯Ό importν΄μ μ¬μ©_document.jsκ° μλλΌ _app.jsμμ μ¬μ©νλμ§ μ΄ν΄λͺ»ν¨
κ²μκΈμμ μ΄κΈ°κ° λκ»΄μ Έμ....