Framework/Next.js
-
- [Next.js] 테마 토글 기능 설정하기 (with shadcn/ui)
테마 토글 기능 설정하기 (with shadcn/ui)들어가며Next.js를 이용하여 테마 토글 기능을 설정하는 방법을 정리해본다.이 게시글의 내용은 타입스크립트(TypeScript)와 shadcn UI 컴포넌트 라이브러리를 바탕으로 작성되었다. 방법① 색상 템플릿 코드를 전역 스타일시트 파일(@globals.css@)에 넣기아래의 사이트에서 자신에게 맞는 라이트/다크 모드 색상 템플릿을 선택한 후, 색상 코드를 복사한다. shadcn/uiBeautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.ui.shadcn.com 그리고 전역 스타일시트 파일(@/app/..
16:46:08 -
- [Next.js] 갑자기 "'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다." 오류가 발생할 때 해결 방법
갑자기 "'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다." 오류가 발생할 때 해결 방법들어가며Next.js 프로젝트 서버를 실행할 때, 갑자기 아래와 같은 오류가 발생하는 경우가 있다.$ yarn devyarn run v1.22.22$ next dev'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.error Command failed with exit code 1.info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 이때, 이 문제를 해결하는 방법을 정리해본다. 방법해결 방법은 간단하다. 캐시를 지워준 후, 프로젝..
2024.10.30 -
- [Next.js] 환경 변수 사용 방법
환경 변수 사용 방법들어가며Next.js에서 환경 변수(Environment Variable)를 사용하는 방법을 정리해본다. 방법① 환경 변수 파일 설정하기Next.js는 @.env@ 파일을 통해 환경 변수를 불러올 수 있다.프로젝트 최상위 경로(@/@)에 다음과 같은 @.env@ 파일을 생성한다. /.env.localNEXT_PUBLIC_API_URL=https://api.example.comAPI_SECRET_KEY=your-secret-key ⇒ 다음과 같이 @.env@뒤에 용도에 따라 다양한 접미어를 붙일 수 있다. 환경변수 파일명설명@.env.local@로컬 개발 환경에서 사용하는 환경 변수 (Git에 추가하지 않는 것이 좋다.)@.env.development@개발 환경에서 사용하는 환경 변수@..
1 2024.10.29 -
- [Next.js] 폴더 구조 및 동적 경로 설정하기
폴더 구조 및 동적 경로 설정하기들어가며Next.js를 이용하여 폴더 구조 및 동적 경로를 설정하는 방법을 정리해본다. 방법① 비공개 폴더(Private Folder) 생성하기앱(@app@) 폴더는 기본적으로 URL 세그먼트가 된다.비공개 폴더(Private Folder)를 만들고 싶을 경우, 폴더 이름 앞에 밑줄(@_@)을 추가한다._css ⇒ @_css@ 폴더 생성 시, 해당 폴더는 URL 세그먼트로 노출되지 않으며, 만약 해당 경로에 접속할 경우 404 페이지를 반환한다. 비공개 폴더는 라우팅에 직접 포함되지 않는 폴더이다.일반적으로 내부 관리 목적으로 사용된다. ② 라우트 그룹(Route Group) 생성하기라우트 그룹(Route Group)은 특정 페이지나 경로를 그룹화한다.이러한 그룹의 이름..
2024.10.16 -
- [Next.js] 정적 생성(Static Generation)과 서버사이드 렌더링(Server-side Rendering)
정적 생성(Static Generation)과 서버사이드 렌더링(Server-side Rendering)들어가며사전 렌더링 방법인 정적 생성(Static Generation)과 서버사이드 렌더링(Server-side Rendering)에 대해 정리해본다. 정적 생성(Static Generation)개념웹 페이지를 미리 생성하여 HTML 파일로 저장하는 방식웹 사이트의 빌드 단계에서 모든 페이지가 사전에 렌더링되며, 사용자가 페이지를 요청할 때 서버에서 미리 생성된 HTML 파일을 즉시 제공하는 방식빠른 로딩 속도와 서버 부하 감소를 위해 사용SSG(Static Site Generation)이라고도 한다. 장점페이지가 미리 생성되어 있으므로, 사용자는 빠르게 페이지를 볼 수 있다. (빠른 페이지 로딩)요청..
2024.08.08 -
- [Next.js] 메타데이터(Metadata) 추가하기
메타데이터(Metadata) 추가하기들어가며Next.js에서 컴포넌트에 메타데이터(Metadata)를 추가하는 방법을 정리해본다. 메타데이터(Metadata)웹페이지에 대한 추가 정보를 제공하는 데이터주로 HTML 문서의 @@ 태그 안에 포함되어 있으며, 검색 엔진 최적화(SEO), 소셜 미디어 공유, 브라우저 설정 등 여러 목적으로 사용된다. 메타데이터 추가하기정적 페이지(Static Page)와 동적 페이지(Dynamic Page)에 메타데이터를 추가하는 방법이 다르다. 정적 페이지방법페이지나 레이아웃 파일에 @metadata@라는 이름의 상수를 내보내는 방식을 통해 메타데이터를 설정할 수 있다.export const metadata = { title: 'All Meals', descriptio..
2024.08.07 -
- [Next.js] 서버 컴포넌트와 클라이언트 컴포넌트
서버 컴포넌트와 클라이언트 컴포넌트들어가며Next.js는 서버 컴포넌트와 클라이언트 컴포넌트의 개념을 도입한 리액트 기반의 풀스택(Full-Stack) 프레임워크이다.Next.js는 단순히 프론트엔드 라이브러리인 리액트를 넘어 서버 측에서도 코드를 실행할 수 있는 기능을 제공한다. 서버 컴포넌트개념Next.js 프로젝트에서는 모든 리액트 컴포넌트가 기본적으로 서버에서 렌더링 된다.이 컴포넌트들을 서버 컴포넌트라고 하며, 브라우저가 아닌 서버에서 실행된다. 예다음과 같이 컴포넌트에 로그를 출력하면, 웹 브라우저 개발자 도구(클라이언트 단)가 아닌, IDE(서버 단)의 터미널에서 로그를 확인할 수 있다. 장점성능 향상클라이언트 측에서 다운로드해야 할 자바스크립트(JS) 코드가 줄어든다. SEO 개선서버 단에..
2024.08.05 -
- [Next.js] Image 컴포넌트
Image 컴포넌트들어가며Next.js에서 기본으로 제공하는 Image 컴포넌트에 대해 정리해본다. Image 컴포넌트개념Next.js에서 다양한 퍼포먼스 기능과 편리한 설정을 지원하는 컴포넌트 이미지 컴포넌트를 이용하면 이미지 불러오기 작업을 최적화할 수 있다. 또한 이미지 크기 조정, 지연 로딩(Lazy Loading)을 지원하며, WebP와 같은 최신 이미지 형식이 자동으로 처리된다. 다양한 기기와 화면 크기에 맞게 이미지 크기를 유동적으로 조절할 수 있다. 사용 방법기본 사용법@next/image@ 모듈을 불러와서 사용한다.import Image from 'next/image';export default function Home() { return ( Next.js Image E..
2024.08.05