๐ public
์ปดํ์ผ์ ํ์ํ์ง ์์ ๊ฒ๋ค
์ ๋๊ฒฝ๋ก ์ฌ์ฉ ๊ฐ๋ฅ (import ์ "./ํ์ผ๋ช " ์ด๋ ๊ฒ ๊ฐ์ ธ์ฌ ์ ์์)
์ฌ์ฉ์๊ฐ ์น๋ธ๋ผ์ฐ์ ์์์ ๋ณผ ์ ์๋ ์ ์ ํ์ผ๋ค (image) ์ด ๋ด๊น
๐ src
๊ฐ๋ฐํ๋ฉด์ ์ปดํฌ๋ํธ ์์์ ์ฐ์ด๋ ํ์ผ์ ๋ฃ์
public ํ์ผ ๊ฐ์ ธ์ฌ ๋ ๋จ์
์นํฉ์ผ๋ก ์ฒ๋ฆฌ๋์ง ์๊ณ ์๋ณธ์ด ๋น๋๋จ
-> ํ์ผ์ด ๊ฒฝ๋ํ ๋์ง ์์
-> ํ์ผ ๊ฒฝ๋ก ์๋ชป ์ ๋ ฅ์ ์ปดํ์ผ ๋จ๊ณ๊ฐ ์๋๋ผ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ๋ 404 ์ค๋ฅ๋ฅผ ๋ฐ์
const url =
process.env.NODE_ENV === 'development'
? `./${domain}/image/img`
: 'image/img';
// ๋ณดํต ์ด๋ ๊ฒ ์ฒ๋ฆฌํ๋ ๋ฏ
๊ฒฝ๋ํ๋ฅผ ์ํด์๋ผ๋ src์ ์ด๋ฏธ์ง ํ์ผ ๋ฃ๋๊ฒ ๋ง๊ฒ ๋ค! โบ๏ธ
ํ๋จ ํ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์๋ํด๋ดค๋ค
์ผ๋จ import ๋ก ์ฌ์ง ๋ถ๋ฌ์ค๊ธฐ
์ ๋ถ๋ฌ์์ง๋ค
๊ตฌ๊ธ๋ง ํ ์๋ํด ๋ณธ ๊ฒ
1. ts ๋ผ์ ํ์ ๋๋ฌธ์? -> ์คํจ
declare module '*.jpg';
declare module '*.png';
declare module '*.jpeg';
// images.d.ts
2. webpack์์ ํ์ผ ์์ถํ ๋ ๋ฐ๋ก ์ค์ ์ด ํ์ํ๋ค๊ตฌ? -> npm i file-loader, touch webpack.config.js -> ์คํจ
module.exports = {
module: {
rules: [
{
test: /\.(png|jpe?g|gif)$/i,
use: [
{
loader: 'file-loader',
},
],
},
],
},
};
๊ณต์ ๋ฌธ์ webpack.config.js ๋ด์ฉ๋ฌผ๊น์ง ๊ธ์ด์์ผ๋ ์คํจ ใ ใ
require ๋ก ๋ถ๋ฌ์ค๊ธฐ
์ด์ํ๊ฒ require์ ๋๋ค
์ผ๋จ ๋นจ๊ฐ์ค ์์ด ๊ฐ์ ธ์์ง;;;;
๊ฒฝ๋ก ํ์ธํ์ผ๋ ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ด์ง์ ์ ์ฉํด๋ณผ๊น~ํ๊ณ ํ ์คํธ์ฐจ ๊ฐ๋จํ ๊ฒฝ๋ก๋ง ๋ฃ์๋๋ฐ
์ญ์ ์ด๋ฆ์ด ๋ฐ๋์ด์์๋ค
๐ ์๋ ๊ฒ
์ ์ ์ฌ์ฉํ๋ public ํด๋ ์์ Image๋ค์ ๋ฐ๋ก ์นํฉ์ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก build ํ์ผ์ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์ด ๋ฐ๋์ง ์์์ง๋ง
์ด์ src ์์ ์ฌ์ง ํ์ผ์ ๋ฃ์ด๋์ด์ ์ด๋ฆ์ด ๋ฐ๋ ๊ฒ...
public ํด๋์๋ image ํด๋ ๋ฃ์ ์ํ๋ก ๋น๊ตํด๋ดค์ ๋
์๋ฐ ์ฐจ์ด์ ์ด ์๋ค
๊ทธ๋ฆฌ๊ณ ์ํ๊น๊ฒ๋ catbow ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋
IMG_ ๋ง ๋ฃ์์๋
์๋์ผ๋ก 1.jpg, 2.jpg ...
๋ฅผ ๋ฃ์ด์ฃผ๋ ๋ก์ง์ ๊ฐ์ง๊ณ ์์ด์
์ด๋ฆ์ด ๋ฐ๋ ํ์ผ ๋ค์ 1.jpg, 2.jpg ...๊ฐ ๋ถ์๋ค ๐
์บฃ๋ณด์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ ๋ ๋ฌด์กฐ๊ฑด pubilc์ ๋ฃ๋ ๊ฒ์ผ๋ก... ๐ฅฒ
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
css-in-js ์ css-in-css (0) | 2023.03.20 |
---|---|
react ์ ์ฐ๋์ (0) | 2023.03.16 |
์ํ๊ด๋ฆฌ (0) | 2023.03.06 |
Node.js ) import/export ์ฌ์ฉ (0) | 2023.03.04 |
์ธ์ฆ ์ธ๊ฐ Session vs Token Based Authentication (0) | 2023.03.02 |
๋๊ธ