HTMLκ³Ό Next.js λ ˆμ΄μ•„μ›ƒμ˜ 이해

CSSNext.jsHTML
shmoon
Β·
Β·2 min read

HTML의 κΈ°λ³Έ κ°œλ…

HTML(Hypertext Markup Language)은 μ›Ή νŽ˜μ΄μ§€μ˜ ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” λ§ˆν¬μ—… μ–Έμ–΄μž…λ‹ˆλ‹€. μ›Ή νŽ˜μ΄μ§€μ˜ μ½˜ν…μΈ λ₯Ό μ—¬λŸ¬ 개의 문단, λͺ©λ‘, 이미지, 데이터 ν…Œμ΄λΈ” λ“±μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

HTML μš”μ†Œμ˜ ꡬ성

  1. μ—¬λŠ” νƒœκ·Έ: <p>와 같이 μš”μ†Œκ°€ μ‹œμž‘λ˜λŠ” λΆ€λΆ„
  2. λ‹«λŠ” νƒœκ·Έ: </p>와 같이 μš”μ†Œκ°€ λλ‚˜λŠ” λΆ€λΆ„
  3. μ½˜ν…μΈ : νƒœκ·Έ μ‚¬μ΄μ˜ μ‹€μ œ λ‚΄μš©
  4. 속성: μš”μ†Œμ— λŒ€ν•œ μΆ”κ°€ 정보λ₯Ό 제곡 (예: class="editor-note")

HTML λ¬Έμ„œμ˜ κΈ°λ³Έ ꡬ쑰

html<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>νŽ˜μ΄μ§€ 제λͺ©</title>
  </head>
  <body>
    <!-- μ‹€μ œ μ½˜ν…μΈ κ°€ λ“€μ–΄κ°€λŠ” κ³³ -->
  </body>
</html>

Next.js의 λ ˆμ΄μ•„μ›ƒ μ‹œμŠ€ν…œ

Next.jsλŠ” 파일 μ‹œμŠ€ν…œ 기반 λΌμš°νŒ…μ„ μ‚¬μš©ν•˜μ—¬ HTML ꡬ쑰λ₯Ό λ”μš± μ²΄κ³„μ μœΌλ‘œ 관리할 수 있게 ν•΄μ€λ‹ˆλ‹€.

νŽ˜μ΄μ§€ 생성

νŽ˜μ΄μ§€λŠ” νŠΉμ • URLμ—μ„œ λ Œλ”λ§λ˜λŠ” UI μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. app 디렉토리 내에 page.tsx νŒŒμΌμ„ μƒμ„±ν•˜μ—¬ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

typescriptexport default function Page() {
  return <h1>μ•ˆλ…•ν•˜μ„Έμš”, Next.js!</h1>
}

λ ˆμ΄μ•„μ›ƒ 생성

λ ˆμ΄μ•„μ›ƒμ€ μ—¬λŸ¬ νŽ˜μ΄μ§€μ—μ„œ κ³΅μœ λ˜λŠ” UI μš”μ†Œμž…λ‹ˆλ‹€. μƒνƒœλ₯Ό μœ μ§€ν•˜κ³  λ‹€μ‹œ λ Œλ”λ§λ˜μ§€ μ•ŠλŠ” νŠΉμ§•μ΄ μžˆμŠ΅λ‹ˆλ‹€:

typescriptexport default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="ko">
      <body>
        <main>{children}</main>
      </body>
    </html>
  )
}

쀑첩 라우트

URL ꡬ쑰에 따라 폴더λ₯Ό μ€‘μ²©ν•˜μ—¬ λ³΅μž‘ν•œ νŽ˜μ΄μ§€ ꡬ쑰λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

  • / (루트)
  • /blog (λΈ”λ‘œκ·Έ 메인)
  • /blog/[slug] (κ°œλ³„ λΈ”λ‘œκ·Έ 포슀트)

νŽ˜μ΄μ§€ κ°„ 링크

next/link의 <Link> μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•˜μ—¬ νŽ˜μ΄μ§€ κ°„ 이동을 κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

typescriptimport Link from 'next/link'
 
export default function PostList() {
  return (
    <ul>
      {posts.map(post => (
        <li key={post.slug}>
          <Link href={`/blog/${post.slug}`}>{post.title}</Link>
        </li>
      ))}
    </ul>
  )
}

μ΄λŸ¬ν•œ κ΅¬μ‘°ν™”λœ μ ‘κ·Ό 방식을 톡해 Next.jsλŠ” HTML의 κΈ°λ³Έ κ°œλ…μ„ ν™•μž₯ν•˜μ—¬ 더 효율적이고 μœ μ§€λ³΄μˆ˜κ°€ μ‰¬μš΄ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ좕할 수 있게 ν•΄μ€λ‹ˆλ‹€.

Test

μ˜€μž‰

γ…‡γ…‡

🚨

danger!!

⚠️

warn!!

πŸ’‘

팁!
dd

πŸ’‘

암ㅁㅁㅁ

plaindfdfdfd

default-cover.png

dddd
dd
dd