Next.js ์„ค์น˜ ๋ฐฉ๋ฒ•

2023. 3. 3. 18:21ยทServer/Node.js

์‹œ์ž‘

๋‹ค์Œ.js ๋ฌธ์„œ์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

Next.js๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๊ฒฝ์šฐ ํ•™์Šต ๊ณผ์ •์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ€ด์ฆˆ๊ฐ€ ํฌํ•จ๋œ ๋Œ€ํ™”ํ˜• ๊ณผ์ •์€ Next.js๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

Next.js์™€ ๊ด€๋ จ๋œ ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ GitHub ํ† ๋ก ์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์งˆ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

System Requirements

  • Node.js 14.6.0 or newer
  • MacOS, Windows (including WSL), and Linux are supported

Automatic Setup

๋ชจ๋“  ํ•ญ๋ชฉ์ด ์ž๋™์œผ๋กœ ์„ค์ •๋˜๋Š” create-next-app์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋‹ค์Œ.js ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. (๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. create-next-app ๋‹น์‹ ์„ ์œ„ํ•ด ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.) ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

npx create-next-app@latest
# or
yarn create next-app
# or
pnpm create next-app

TypeScript ํ”„๋กœ์ ํŠธ๋กœ ์‹œ์ž‘ํ•˜๋ ค๋ฉด --typescript ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npx create-next-app@latest --typescript
# or
yarn create next-app --typescript
# or
pnpm create next-app --typescript

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ํ›„:

  • npm ์‹คํ–‰ dev ๋˜๋Š” yarn dev ๋˜๋Š” pnpm dev๋ฅผ ์‹คํ–‰ํ•˜์—ฌ http://localhost:3000 ์—์„œ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • http://localhost:3000 ๋ฐฉ๋ฌธํ•˜์—ฌ ์‹ ์ฒญ์„œ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ํŽ˜์ด์ง€/์ƒ‰์ธ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—…๋ฐ์ดํŠธ๋œ ๊ฒฐ๊ณผ๋ฅผ .js ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ-๋งŒ๋“ค๊ธฐ-์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ-๋งŒ๋“ค๊ธฐ-์•ฑ ์„ค๋ช…์„œ๋ฅผ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Manual Setup

๋‹ค์Œ์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ˜์‘ํ•˜๊ณ  ๋ฐ˜์‘ํ•˜์‹ญ์‹œ์˜ค.

npm install next react react-dom
# or
yarn add next react react-dom
# or
pnpm add next react react-dom

package.json์„ ์—ด๊ณ  ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start",
  "lint": "next lint"
}

์ด๋Ÿฌํ•œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์˜ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  • dev - Runs next dev to start Next.js in development mode
  • build - Runs next build to build the application for production usage
  • start - Runs next start to start a Next.js production server
  • lint - Runs next lint to set up Next.js' built-in ESLint configuration

๋‘ ๊ฐœ์˜ ๋””๋ ‰ํ† ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฃจํŠธ์— public์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • pages - ํŒŒ์ผ ์ด๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ฒฝ๋กœ์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŽ˜์ด์ง€/์ •๋ณด.js๋Š” /about์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
  • public - ์ด๋ฏธ์ง€, ๊ธ€๊ผด ๋“ฑ๊ณผ ๊ฐ™์€ ์ •์  ์ž์‚ฐ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ณต์šฉ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ์€ ๊ธฐ๋ณธ URL (/)์—์„œ ์‹œ์ž‘ํ•˜๋Š” ์ฝ”๋“œ์—์„œ ์ฐธ์กฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Next.js๋Š” ํŽ˜์ด์ง€ ๊ฐœ๋…์„ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•๋ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋Š” ํŽ˜์ด์ง€ ๋””๋ ‰ํ† ๋ฆฌ์˜ .js, .jsx, .ts ๋˜๋Š” .tsx ํŒŒ์ผ์—์„œ ๋‚ด๋ณด๋‚ธ React ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ๋™์  ๊ฒฝ๋กœ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

pages ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— index.js ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฃจํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€/์ธ๋ฑ์Šค.js๋ฅผ ๋‹ค์Œ ๋‚ด์šฉ์œผ๋กœ ์ฑ„์›๋‹ˆ๋‹ค.

function HomePage() {
  return <div>Welcome to Next.js!</div>
}

export default HomePage

์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  • npm ์‹คํ–‰ dev ๋˜๋Š” yarn dev ๋˜๋Š” pnpm dev๋ฅผ ์‹คํ–‰ํ•˜์—ฌ http://localhost:3000 ์—์„œ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • http://localhost:3000 ๋ฐฉ๋ฌธํ•˜์—ฌ ์‹ ์ฒญ์„œ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ํŽ˜์ด์ง€/์ƒ‰์ธ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—…๋ฐ์ดํŠธ๋œ ๊ฒฐ๊ณผ๋ฅผ .js ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค.

  • ์ž๋™ ์ปดํŒŒ์ผ ๋ฐ ๋ฒˆ๋“ค๋ง
  • ๋น ๋ฅธ ์ƒˆ๋กœ ๊ณ ์นจ ๋ฐ˜์‘
  • ํŽ˜์ด์ง€์˜ ์ •์  ์ƒ์„ฑ ๋ฐ ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง/
  • ๊ธฐ๋ณธ URL(/)์— ๋งคํ•‘๋œ public/์„ ํ†ตํ•ด ์ œ๊ณต๋˜๋Š” ์ •์  ํŒŒ์ผ

๋˜ํ•œ ๋ชจ๋“  Next.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ๋•์…˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐฐํฌ ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

 

 

728x90
'Server/Node.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Yarn ์ด๋ž€?
  • yarn ๋ช…๋ น์–ด๊ฐ€ ์œˆ๋„์šฐ์—์„œ ์•ˆ๋ ๋•Œ
  • Node.js - Introduction
  • Node.js ํŠœํ† ๋ฆฌ์–ผ
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ผ์ƒ, ๊ฒŒ์ž„, ๋ง›์ง‘, ์—ฌํ–‰, ๊ฐœ๋ฐœ, IT ๋ธ”๋กœ๊ทธ๐Ÿงž
  • ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
    ์š”์ˆ  ๋žจํ”„๐Ÿซ–
    ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (549)
      • Languages (57)
        • JAVA (13)
        • JSP (1)
        • C_C++ (4)
        • Html (3)
        • CSS (1)
        • JavaScript (18)
        • Python (3)
        • Kotlin (13)
        • TypeScript (1)
      • Framework (14)
        • spring (11)
        • jstl (1)
        • angular (2)
      • Tool (28)
        • Eclipse (5)
        • vsCode (3)
        • scrcpy (2)
        • Git (1)
        • IntelliJ (6)
        • Visual-studio (1)
        • UML (1)
        • Gradle (8)
      • DB (6)
        • Oracle (1)
        • MySql (3)
        • Mongo (2)
      • OS (14)
        • Linux (2)
        • Windows (12)
      • Server (8)
        • Tomcat (1)
        • Apache (1)
        • Node.js (6)
      • Programmings (25)
        • Design Pattern (2)
        • Funny (20)
        • Algorithms (3)
      • Cloud (8)
        • Docker (1)
        • Kubernetes (4)
        • Istio (1)
        • ArgoCD (2)
      • IT (5)
        • gRPC (3)
        • RESTful (3)
        • Web UI (5)
        • AI (4)
      • Book (6)
      • TIP (187)
      • Life (53)
      • Game (83)
      • Storage (22)
      • ์‹๋‹น (15)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ์‚ฌ์ดํŠธ๋งต
    • RSS
    • ๊ธฐํƒ€ ์†Œ๋“
  • ๋งํฌ

    • ๊ตฌ๊ธ€
    • ๋„ค์ด๋ฒ„
    • ์ •๋ถ€24
    • Spring Framework ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • Kotlin ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • ์นด์นด์˜ค ์• ๋“œํ•
    • ๋ธ”๋กœ๊ทธ ์‚ฌ์ดํŠธ๋งต
    • ๋ธ”๋กœ๊ทธ RSS
  • ๊ณต์ง€์‚ฌํ•ญ

    • ์•ˆ๋…•ํ•˜์„ธ์š”
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํƒœ๊ตญ
    ํ•œ๋ˆˆ์— ๋ณด๋Š” ์˜ค๋Š˜์˜ ๋‰ด์Šค
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ๋‚˜์šฐ
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ์™€์ผ์ฆˆ
    ๋‰ด์Šค
    ์˜ค๋Š˜์˜๋‰ด์Šค
    ๋‰ด์Šค ๋ธŒ๋ฆฌํ•‘
    ๋ธŒ๋ฆฌํ•‘
    ๋ฐ์ผ๋ฆฌ ๋‰ด์Šค
    ํ€˜์ŠคํŠธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
Next.js ์„ค์น˜ ๋ฐฉ๋ฒ•
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”