[NexJS] 모든 페이지에 대한 공통 레이아웃과 스타일을 설정해보자! (feat. _app.js)

2023. 12. 18. 12:00· NextJS
목차
  1. 💋 _app.js
반응형
반응형

 

 

소스 코드 보러가기 👉🏻 https://github.com/gitchan-Study/2023-next-js-beginner

 

GitHub - gitchan-Study/2023-next-js-beginner: 노마드코더 [NextJS 시작하기] 학습 코드

노마드코더 [NextJS 시작하기] 학습 코드. Contribute to gitchan-Study/2023-next-js-beginner development by creating an account on GitHub.

github.com

 

 

 

💋 _app.js

_app.js는 애플리케이션의 전역 설정을 담당하는 파일이다.

pages/_app.js를 생성한다. 이때 이름은 프레임워크 내 약속된 이름이기 때문에 언더바를 포함해서 제대로 적어주어야만 NextJS가 다른 페이지를 렌더링하기 전에 이 파일을 확인한다.

 

pages/_app.js

import NavBar from "@/components/NavBar";

export default function App({Component, pageProps}) {
	return <>
		<NavBar/>
		<Component {...pageProps}/>
		<style jsx global>{`
		  a {
			color: white;
		  }

		  h1 {
			background-color: tomato;
		  }
		`}</style>
	</>
};

 

pages 디렉토리 아래에 속한 모든 페이지들의 Component는 이제 렌더링되기 전에 App의 Component 자리에 한 번씩 들어간 후의 형태로 렌더링된다.

이제 global css 파일은 _app.js 파일에서만 import 가능하고, 나머지 페이지들은 모두 module css만 적용할 수 있게 된다.

 

pages/index.js

export default function Home() {
	return (
		<div>
			<h1>Hello</h1>
		</div>
	);
}

 

pages/about.js

export default function About() {
	return (
		<div>
			<h1>About</h1>
		</div>
	);
};

 

이렇게 하면, _app.js에 작성한 내용이 전역적으로 모든 곳에 적용된다.

이제, NavBar를 모든 페이지마다 복붙하지 않아도 되기 때문에, 중복 코드를 방지하고 유지보수성을 향상시킬 수 있다.

 

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

반응형

'NextJS' 카테고리의 다른 글

[NextJS] 이미지 넣기 가장 쉬운 방법: public 디렉토리 활용  (0) 2024.01.02
[NextJS] 페이지 제목 설정: NextJS에서 HTML Head Title 태그를 쉽게 설정하는 방법  (0) 2023.12.22
[NextJS] 다양한 Style 적용법: module.css, 1개의 컴포넌트에 2개 이상의 className 설정하는 방법, styles JSX  (0) 2023.12.21
[NextJS] 새로고침 없이 페이지 전환되는 Client-Side 네비게이션 구현하기 (feat. Pages와 Link 태그)  (0) 2023.12.15
[NextJS] Next JS 프로젝트 생성 및 실행 방법  (0) 2023.12.15
  1. 💋 _app.js
'NextJS' 카테고리의 다른 글
  • [NextJS] 페이지 제목 설정: NextJS에서 HTML Head Title 태그를 쉽게 설정하는 방법
  • [NextJS] 다양한 Style 적용법: module.css, 1개의 컴포넌트에 2개 이상의 className 설정하는 방법, styles JSX
  • [NextJS] 새로고침 없이 페이지 전환되는 Client-Side 네비게이션 구현하기 (feat. Pages와 Link 태그)
  • [NextJS] Next JS 프로젝트 생성 및 실행 방법
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science
      • Operating System
      • Computer Architecture
      • Network
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 대규모 시스템 설계
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • Stream
  • 우테코5기
  • Composition
  • lamda
  • Java
  • 우아한테크코스5기
  • 컴포지션
  • OOP
  • 함수형프로그래밍
  • 레벨로그
  • 스트림
  • TDD
  • 예외
  • 람다
  • 우테코
  • 상속과조합
  • 람다와스트림
  • 조합
  • 우아한테크코스
  • 상속
hELLO · Designed By 정상우.v4.2.0
깃짱
[NexJS] 모든 페이지에 대한 공통 레이아웃과 스타일을 설정해보자! (feat. _app.js)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.