$ 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.js
Next.js
μμ μ 곡νλ documentλ₯Ό 컀μ€ν°λ§μ΄μ§ν μ μλ€.
Next.js
νμ΄μ§λ€μ λ§ν¬μ
μ μλ₯Ό 건λλ°κ³ νμ΄μ§λ₯Ό λ§λ λ€
<html>, <head>, <body>
λ±μ νκ·Έλ₯Ό μ¬μ©νκΈ° μν΄μλ _document.js
νμΌμ΄ νμμ μ΄λ€
_app.js
vs _document.js
_app.js
μ _document.js
λ μν μ΄ λ€λ₯΄λ€_app.js
_app.js
νμΌμ μ¬μ©ν΄μΌ νλ€._document.js
onClick
κ°μ μ΄λ²€νΈ νΈλ€λ¬κ° μλνμ§ μλλ€.Head
: _app.js
μμ μ¬μ©νλ Head
μ _document.js
μμ μ¬μ©νλ Head
λ λ€λ₯΄λ€.title
κ°μ μμ±μ λ£μ λ _app.js
μμ λ£κ±°λ κ° νμ΄μ§μμ Head
λ₯Ό import
ν΄μ μ¬μ©_document.js
κ° μλλΌ _app.js
μμ μ¬μ©νλμ§ μ΄ν΄λͺ»ν¨
κ²μκΈμμ μ΄κΈ°κ° λκ»΄μ Έμ....