찾다
웹 프론트엔드CSS 튜토리얼Next.js와 함께 블로그 구축

Next.js와 함께 블로그 구축

이 기사에서는 Jekyll에서 영감을 얻은 디자인 및 구조와 함께 Next.js를 사용하여 정적 블로그 프레임 워크를 구축하도록 안내합니다. Jekyll은 액세스의 용이성과 높은 제어 성으로 유명 하며이 기사는 Next.js를 활용하고 새로운 정적 블로그 구축 솔루션을 제공하기 위해 반응하는 것을 목표로합니다. Next.js는 파일 시스템을 기반으로하며 정적 웹 사이트의 구성 프로세스를 단순화합니다.

일반적인 Jekyll 블로그 디렉토리 구조는 다음과 같습니다.

 <code>. ├─── _posts/      ...Markdown 格式的博文├─── _layouts/     ...不同页面的布局├─── _includes/    ...可复用的组件├─── index.md     ...主页└─── config.yml    ...博客配置</code>

우리의 프레임 워크는 Jekyll에서 블로그의 마이그레이션을 용이하게하기 위해이 디렉토리 구조를 가능한 한 많이 따라 게시물과 구성을 재사용 할 것입니다.

Jekyll에 익숙하지 않은 경우 일반 텍스트를 정적 웹 사이트 및 블로그로 변환하는 정적 사이트 생성기입니다. 자세한 내용은 Jekyll Quick Start Guide를 참조하십시오.

이 기사에서는 RECT의 기본 사항이 있다고 가정합니다. 그렇지 않은 경우 React Getting 시작 가이드를 참조하십시오.

설치하다

Next.js는 React를 기반으로하며 Node.js에 작성되었습니다. 따라서 Next.js, React 및 React-DOM을 추가하기 전에 NPM을 설치해야합니다.

 <code>mkdir nextjs-blog && cd $_ npm init -y npm install next react react-dom --save</code>

명령 줄에서 다음.js 스크립트를 실행하려면 package.json의 스크립트 섹션에 다음 명령을 추가해야합니다.

 <code>"scripts": { "dev": "next" }</code>

이제 npm run dev 명령을 처음으로 실행하고 무슨 일이 일어나는지 확인하십시오.

 <code>$ npm run dev > [email protected] dev /~user/nextjs-blog > next ready - started server on https://www.php.cn/link/4a914e5c38172ae9b61780ffbd0b2f90 Error: > Couldn't find a `pages` directory. Please create one under the project root</code>

컴파일러는 Project Root 디렉토리의 페이지 디렉토리가 누락되었음을 알 수 있습니다. 다음 섹션에서 페이지 개념에 대해 배울 것입니다.

페이지 개념

Next.js는 페이지 개념을 기반으로 구축되었습니다. 각 페이지는 파일 이름에 따라 경로에 매핑되는 React 구성 요소 (.js 또는 .jsx)입니다. 예를 들어:

<code>               路由----               ----- /pages/about.js         /about /pages/projects/work1.js     /projects/work1 /pages/index.js         /</code>

프로젝트 루트 디렉토리에서 페이지 디렉토리를 만들고 기본 React 구성 요소로 첫 번째 페이지 index.js를 채우십시오.

 <code>// pages/index.js export default function Blog() { return</code> Next.js 블로그에 오신 것을 <code>// pages/index.js export default function Blog() { return</code>
}

npm run dev 하여 서버를 시작하고 https://www.php.cn/link/4a914e5c38172ae9b61780ffbd0b2f90을 방문하여 블로그를보십시오.

상자에서 우리는 다음을 얻습니다.

  • Hot Reload, 모든 코드 변경에 대해 브라우저를 새로 고칠 필요가 없습니다.
  • /페이지/** 디렉토리의 모든 페이지의 정적 생성.
  • /public/** 디렉토리의 리소스 용 정적 파일 서비스.
  • 404 오류 페이지.

404 페이지의 실제 효과를 보려면 LocalHost의 모든 경로를 방문하십시오. 404 페이지를 사용자 정의 해야하는 경우 다음.js 문서를 참조하십시오.

동적 페이지

정적 라우팅 페이지는 홈페이지, 페이지 등을 작성하는 데 사용됩니다. 그러나 모든 블로그 게시물을 동적으로 빌드하기 위해서는 Next.js의 동적 라우팅 기능을 사용합니다. 예를 들어:

<code>             路由----             ----- /pages/posts/[slug].js    /posts/1              /posts/abc              /posts/hello-world</code>

/posts /1, /posts /abc 등과 같은 모든 경로는 /posts/=GUG] .JS와 일치하며 슬러그 매개 변수는 쿼리 매개 변수로 페이지로 전송됩니다. 각 블로그 게시물에 대한 파일을 만들고 싶지 않기 때문에 블로그 게시물에 특히 유용합니다. 대신, 우리는 동적으로 슬러그를 전달하여 해당 블로그 게시물을 렌더링 할 수 있습니다.

(다음 내용은 생략됩니다. 기사의 길이가 너무 길기 때문에 원본 텍스트는 변경되지 않으며 나머지 부분은 단순화되고 사진은 유지됩니다).

블로그 API, 포함, 레이아웃, 홈페이지, 블로그 페이지, 생산 환경 배포, 개선 제안

기사의 후속 부분은 블로그 API (모든 블로그 게시물 가져 오기, 개별 블로그 게시물 가져 오기 및 구문 분석 구성), 재사용 가능한 구성 요소 (포함), 디자인 페이지 레이아웃 (레이아웃), 홈페이지 블로그 게시물 목록 및 개별 블로그 게시물 페이지 및 개별 블로그 포스트 페이지를 구현하는 방법 및 최종 제작 환경, 이주식 및 스타일의 세부 사항 등을 구현하는 방법을 구현하는 방법 및 세부 사항 등의 세부 사항 등을 구현하는 방법에 대해 자세히 설명합니다. Next.js의 기능과 기능을 기반으로 정적 사이트 생성 기능을 최대한 활용하십시오.

위 내용은 Next.js와 함께 블로그 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
DEVS 상태 : 모든 개발자를위한 설문 조사DEVS 상태 : 모든 개발자를위한 설문 조사May 07, 2025 am 09:30 AM

Devs State Survey는 이제 참여에 개방되어 있으며, 이전 설문 조사와 달리 코드, 직장, 건강, 취미 등을 제외한 모든 것을 포함합니다. 

CSS 그리드는 무엇입니까?CSS 그리드는 무엇입니까?Apr 30, 2025 pm 03:21 PM

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

CSS Flexbox 란 무엇입니까?CSS Flexbox 란 무엇입니까?Apr 30, 2025 pm 03:20 PM

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?Apr 30, 2025 pm 03:19 PM

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.

CSS 박스 크기 부동산은 무엇을합니까?CSS 박스 크기 부동산은 무엇을합니까?Apr 30, 2025 pm 03:18 PM

이 기사는 요소 치수 계산 방법을 제어하는 ​​CSS 박스 크기 속성에 대해 설명합니다. Content-Box, Border-Box 및 Padding-Box와 같은 값과 레이아웃 설계 및 형태 정렬에 미치는 영향을 설명합니다.

CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?Apr 30, 2025 pm 03:17 PM

기사는 CSS, 주요 특성 및 JavaScript와 결합 된 애니메이션 작성에 대해 논의합니다. 주요 문제는 브라우저 호환성입니다.

CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?Apr 30, 2025 pm 03:16 PM

기사는 3D 변환, 주요 속성, 브라우저 호환성 및 웹 프로젝트에 대한 성능 고려 사항에 대한 CSS 사용에 대해 논의합니다. (문자 수 : 159)

CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?Apr 30, 2025 pm 03:15 PM

이 기사는 CSS 그라디언트 (선형, 방사형, 반복)를 사용하여 웹 사이트 비주얼을 향상시키고 깊이, 초점 및 현대적인 미학을 추가합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는