Netlify에 Next.js 앱 배포 [개인 블로그 웹사이트 구축 4부]
10963 단어 javascriptnextjsheadlesscmsstrapi
모든 기사:
이제 드디어 앱을 온라인에 올릴 시간입니다!
먼저 Git 리포지토리(Next.js 앱을 만드는 동안 자동으로 생성)를 GitHub에 푸시해야 합니다. github.com으로 이동하여 로그인합니다(아직 하지 않았다면 계정을 만드십시오). 오른쪽 상단 모서리를 클릭하여 새 저장소를 만듭니다.
이름을 추가하고 리포지토리를 비공개로 할지 공용으로 할지 결정하고 만들기를 클릭합니다. 당신은 이런 것을 볼 수 있습니다
이제 터미널로 이동하여 앱의 루트 폴더에서 모든 파일을 커밋합니다(환경 변수를
.env
파일에 넣은 다음 .gitignore
에 추가해야 함). 이제 리포지토리를 GitHub에 푸시해 보겠습니다.git remote add origin YOUR_GITHUB_REPOSITORY
git push -u origin main
완료되면 GitHub에서 파일을 볼 수 있어야 합니다.
이제 Netlify에 배포할 준비가 되었습니다. netlify.com로 이동하여 로그인합니다. GitHub로 로그인하는 것이 좋습니다. 새 사이트를 만들 수 있는 대시보드로 이동해야 합니다.
"기존 프로젝트 가져오기"를 선택한 다음 GitHub에 연결하고 리포지토리를 선택합니다.
다음과 같은 내용이 표시되어야 합니다.
모든 기본값을 그대로 두고 사이트 배포를 클릭합니다. 배포가 진행 중임을 알 수 있습니다. 완료될 때까지 몇 분 정도 기다리십시오.
배포가 실패한 경우 실패한 배포를 클릭하고 다시 시도하십시오. 철도는 때때로 처음에 연결을 거부하는 문제가 있습니다.
완료되면 새 웹사이트의 주소가 표시됩니다.
이 주소로 이동하면 온라인에서 작업을 볼 수 있습니다!
이제 저장소에 무언가를 푸시할 때마다 Netlify가 자동으로 앱을 다시 빌드합니다. 기억하다! CMS에서 무언가를 변경해도 재구축이 트리거되지 않으므로 새로운 콘텐츠를 원할 경우 Netlify 대시보드의 배포 탭에서 수동으로 Netlify에서 앱을 재구축해야 합니다.
이 자동 재구축이 작동하는 것을 보기 위해 사이트 레이아웃을 약간 변경해 보겠습니다.
현재 귀하의 사이트에 부족한 것은 멋진 내비게이션 바, 기본 바닥글 및 일부 모바일용 반응 조정입니다.
components
디렉터리에 두 개의 새 구성 요소를 만듭니다.Navbar.jsx
import Link from "next/link";
import React from "react";
const Navbar = () => {
return (
<nav className="z-0 w-full">
<div className="z-10 bg-blue-500 shadow">
<div className="max-w-7xl mx-auto px-2 sm:px-4 lg:px-8">
<div className="flex flex-col sm:flex-row items-center justify-between gap-4 p-2 font-mono">
<Link href="/">
<a className="flex-shrink-0">
<h1 className="font-bold text-xl uppercase text-white">
My Personal Blog
</h1>
</a>
</Link>
<div>
<div className="flex gap-2">
<Link href="/">
<a className="px-3 py-2 text-sm font-medium text-white hover:underline hover:underline-offset-4 hover:text-white hover:font-bold transition duration-150 ease-in-out cursor-pointer focus:outline-none focus:text-white focus:bg-gray-700 ">
Home
</a>
</Link>
<Link href="/about">
<a className="px-3 py-2 text-sm font-medium text-white hover:underline hover:underline-offset-4 hover:text-white hover:font-bold transition duration-150 ease-in-out cursor-pointer focus:outline-none focus:text-white focus:bg-gray-700 ">
About
</a>
</Link>
<Link href="/contect">
<a className="px-3 py-2 text-sm font-medium text-white hover:underline hover:underline-offset-4 hover:text-white hover:font-bold transition duration-150 ease-in-out cursor-pointer focus:outline-none focus:text-white focus:bg-gray-700 ">
Contact
</a>
</Link>
</div>
</div>
</div>
</div>
</div>
</nav>
);
};
export default Navbar;
및
Footer.jsx
import React from "react";
const Footer = () => {
return (
<footer className="bg-blue-500 py-8 w-full">
<div className="flex flex-wrap justify-center">
<div className="text-sm text-white font-mono font-semibold py-1">
Copyright © YOUR_NAME 2022
</div>
</div>
</footer>
);
};
export default Footer;
이제 새로 생성된 구성 요소를 사용하도록
pages/_app.js
파일을 조정하십시오.function MyApp({ Component, pageProps }) {
return (
<div className="flex flex-col items-center bg-white">
<Navbar />
<Component {...pageProps} />
<Footer />
</div>
);
}
마지막으로
pages/index.js
를 약간 변경하여 다양한 화면 해상도에서 게시물 목록을 더 잘 표시합니다.export default function Home({ posts }) {
return (
<section className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 my-8 mx-4">
{posts.map((post) => (
<BlogPostPreview post={post} key={post.attributes.slug} />
))}
</section>
);
}
이제 모든 파일을 커밋하고 변경 사항을 GitHub에 푸시합니다.
git push
몇 분 정도 기다렸다가 Netlify에서 호스팅되는 웹사이트를 확인하세요.
더 좋아 보이지 않나요?
오늘은 여기까지입니다. 귀하의 웹사이트가 어딘가로 이동하기 시작합니다! 시리즈의 다음 부분에서는 특정 태그 기능에 대한 간단한 모든 게시물 표시를 구현합니다. 그때 만나!
Reference
이 문제에 관하여(Netlify에 Next.js 앱 배포 [개인 블로그 웹사이트 구축 4부]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hawelkam/deploying-nextjs-app-on-netlify-building-personal-blog-website-part-4-8m6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)