๐ค ์์งlog ๐ค
[NextJS] NextJS์์ ์ปดํฌ๋ํธํ์์ผ๋ก SVG์ฌ์ฉํ๊ธฐ ๋ณธ๋ฌธ
๐ท Next JS
[NextJS] NextJS์์ ์ปดํฌ๋ํธํ์์ผ๋ก SVG์ฌ์ฉํ๊ธฐ
Eun_zii 2022. 12. 5. 13:44npm install -D @svgr/webpack
webpack์ ์ค์นํฉ๋๋ค.
// next.config.js ์ค์
module.exports = {
webpack(config) {
config.module.rules.push({
test: /\\.svg$/,
use: ["@svgr/webpack"],
});
return config;
},
};
next.js ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์์ฑ์ ๊ฐ์ด ์์ฑ๋๋ next.config.js๋ฅผ ์ค์ ํด์ค๋๋ค.
// ํ๋ก์ ํธ ๋ฃจํธ ํด๋์ custom.d.ts ํ์ผ ์์ฑ
declare module "*.svg" {
import React from "react";
const svg: React.FC<React.SVGProps<SVGSVGElement>>;
export default svg;
}
ํ๋ก์ ํธ ๋ฃจํธ ํด๋์ custom.d.ts ํ์ผ์ ์์ฑํ๊ณ ์ ์ฝ๋๋ฅผ ๋ฃ์ด์ค๋๋ค.
// tsconfig.json ์์
"include": ["custom.d.ts", "next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
next.js ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์์ฑ์ ๊ฐ์ด ์์ฑ๋๋ tsconfig.json์ ์์ ํด์ค๋๋ค.
์ฌ์ฉํ๊ธฐ
import Logo from "assets/icons/header/logo.svg";
<Logo/>
728x90
'๐ท Next JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NEXTJS] ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง์ ๋ฐ์ํ๋ html ๋งค์นญ ๋ฌธ์ (0) | 2023.02.21 |
---|---|
[NextJS] NextJS ์์ window ๊ฐ์ฒด๊ฐ ์๋ค๊ณ ํ ๋ (0) | 2023.01.05 |
[NextJS] NextJS์์ Styled-components ์ฌ์ฉํ๊ธฐ (0) | 2022.12.05 |
[NextJS] NextJS_CSS (0) | 2022.10.06 |
[NextJS] NextJS (0) | 2022.10.06 |