정적 리소스를 NextJS로 서빙하기 위한 디렉토리
특정한path를 주지않고 사용 가능하다.
등을 넣을 수 있다.
img
라는 태그가 있지만 NextJS에서 제공하는 Image
가 있다
a
와 Link
같은 존재이다
<img src="/images/profile.jpg" alt="프로필 이미지" />
<Image src="/images/profile.jpg" width={140} height={140} alt="프로필 이미지" />
Image 태크도 Link와 같이 VIewPort에 들어갔을때 데이터를 로드한다
Image컴포넌트를 사용할때에는 width
와 height
를 입력해주어야 한다 그 이유는 CLS(Cumulative Layout Shift)를 최대한 없애는게 목적이다.
공통 컴포넌트로 만들고
./layout.module.css
라는 CSS모듈
component
폴더에 layout.module.css 파일을 만든다
.container {
max-width: 36rem;
padding: 0 1rem;
margin: 3rem auto 6rem;
}
그리고 Layout.tsx에서 불러온다
import React from "react";
import s from "./layout.module.css";
const Layout = ({ children }: any) => {
return (
<div>
<main className={s.container}>{children}</main>
</div>
);
};
export default Layout;
import "../styles/globals.css";
import Layout from "./components/Layout";
export default function App({ Component, pageProps }: any) {
const getLayout =
Component.getLayout || ((page: any) => <Layout>{page}</Layout>);
return getLayout(<Component {...pageProps} />);
}
import Head from "next/head";
import React from "react";
const firstPost = () => {
return (
<>
<Head>
<title>첫번쨰 글</title>
</Head>
<div>firstPost</div>
</>
);
};
export default firstPost;
https://nextjs.org/learn/basics/assets-metadata-css/polishing-layout