2024-04-02.md
๐กDIL: ๋ชจ๋ ๋ฆฌ์กํธ ๋ฅ ๋ค์ด๋ธ, 5์ฃผ์ฐจ-2
์คํฐ๋: ์๊ฐ CS, https://github.com/monthly-cs/2024-03-modern-react-deep-dive
์ค๋ ์งํ: ๊ฐ์ธ๊ณต๋ถ
DIL-week5-2_2024-04-02
| DIL ์ฃผ์ฐจ | ๋ฒ์ | ๋ด์ฉ | ์ค๋์ฐจ ์ง๋ | | -------- | ---- | -------------------------------------------------- | ----------- | | 5์ฃผ์ฐจ | 9์ฅ | ๋ชจ๋ ๋ฆฌ์กํธ ๊ฐ๋ฐ ๋๊ตฌ๋ก ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ | 538p~542p |
์ค๋ ์ฝ์ ๋ด์ฉ์ markdown์ผ๋ก ๊ฐ๋จํ ๋ฉ๋ชจ
๋ชจ๋ ๋ฆฌ์กํธ ๊ฐ๋ฐ ๋๊ตฌ๋ก ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
next.config.js ์์ฑ
/** @type {import("next").NextConfig} */
const nextConfig = {
reactStrictMode: true, // ๋ฆฌ์กํธ ์๊ฒฉ๋ชจ๋
poweredByHeader: false, // X-Powered-By ํค๋ ์ ๊ฑฐ
eslint: {
ignoreDuringBuilds: true,
// - ์ผ๋ฐ์ ์ผ๋ก ๋น๋ ์ Next.js, ESLint๋ ๊ฐ์ด ์ํํ๋ค
// - true๋ก ์ค์ ํด์ ESLint CI ๊ณผ์ ์์ ๋ณ๋๋ก ์๋ํ๊ฒ ํ๊ธฐ -> ๋น๋๋ฅผ ๋น ๋ฅด๊ฒ!
},
};
module.exports = nextConfig;
ESLint์ Prettier ์ค์ ํ๊ธฐ
- ESLint JS๊ฐ ์ ์ ๋ถ์์ ์์กด
- eslint-config-next๋ ์คํ์ผ๋ง ์ ์๋ x
@titicaca/eslint-config-triple
//.eslintrc.json
{
"extends": ["next/core-web-vitals"]
}
์คํ์ผ ์ค์ ํ๊ธฐ
- styled-component ์ค์ ์ ๊ฒฝ์ฐ
- ServerStyleSheet: _document.tsx์ Provider ๋ํผ ์ถ๊ฐ
- next.config.js์ styledComponent: true ์ถ๊ฐ