๐Ÿ“– React์—์„œ Favicon(ํŒŒ๋น„์ฝ˜) ์„ค์ •

์–ธ์ง€ยท2024๋…„ 11์›” 21์ผ

React

๋ชฉ๋ก ๋ณด๊ธฐ
6/13

๐Ÿ“ Favicon์ด๋ž€?

: ์›น์‚ฌ์ดํŠธ ๋˜๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋Œ€ํ‘œํ•˜๊ธฐ ์œ„ํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ๋˜๋Š” 16x16 ํ”ฝ์…€์˜ ์ž‘์€ ์ด๋ฏธ์ง€
: ํŠน์ • ์›น ์‚ฌ์ดํŠธ๋ฅผ ์‹๋ณ„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋Œ€ํ‘œ ์•„์ด์ฝ˜

โœ… ์˜ˆ์‹œ


๐Ÿ“ Favicon ์ ์šฉ ๋ฐฉ๋ฒ•

: ๋ณดํ†ต React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” HTML ํ˜•์‹์ด ์žˆ๋Š” ํŒŒ์ผ์— ํŒŒ๋น„์ฝ˜ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ ์šฉ (index.html)
: <head> ํƒœ๊ทธ ์•ˆ์— ์ž…๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.
: ํ”Œ๋žซํผ๋ณ„ ์š”๊ตฌํ•˜๋Š” ํŠน์ •ํ•œ ์•„์ด์ฝ˜ ํ˜•์‹ ๋ฐ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค

1-1. ๋ธŒ๋ผ์šฐ์ €(ํฌ๋กฌ, ์›จ์ผ ๋“ฑ๋“ฑ)

  • ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ <link rel="icon">์„ ํ†ตํ•ด ์„ค์ •ํ•œ ์ž‘์€ ์•„์ด์ฝ˜์„ ์‚ฌ์šฉ โžก๏ธ ๋ธŒ๋ผ์šฐ์ €์˜ ํƒญ, ์ฃผ์†Œ์ฐฝ, ๋ถ๋งˆํฌ์— ํ‘œ์‹œ
    (16 X 16, 32 X 32, 96 X 96)
  • ์ด ์„ค์ •๋งŒ์œผ๋กœ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํ™ˆ ํ™”๋ฉด์— ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ์ ์šฉ์ด ์•ˆ๋˜๊ฑฐ๋‚˜ ํ•ด์ƒ๋„๊ฐ€ ๋‚ฎ์„ ์ˆ˜ ์žˆ๋‹ค.
<link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">

1-2. ์•„์ดํฐ ๋ฐ ์•„์ดํŒจ๋“œ (iOS)

  • ํ™ˆ ํ™”๋ฉด์— ์›น์‚ฌ์ดํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ apple-touch-icon ์„ค์ • ํ•„์š”
  <link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-icon-180x180.png">

1-3. ์•ˆ๋“œ๋กœ์ด๋“œ (AOS)

  • ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” 192 X 192 px ์ด์ƒ์˜ ํฐ ์•„์ด์ฝ˜์„ ์š”๊ตฌ โžก๏ธ <link rel="icon" sizes="192x192"> ์‚ฌ์šฉ
    <link rel="icon" type="image/png" sizes="192x192"  href="favicon/android-icon-192x192.png">

- PWA(Progressive Web App) ์™€ ๊ด€๋ จ๋œ `manifest.json` ํŒŒ์ผ์˜ ์•„์ด์ฝ˜ ์„ค์ • ํ•„์š”

>#### ๐Ÿ“ `manifest.json` ํŒŒ์ผ ์ด๋ž€?
- ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋‚˜ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์•ฑ์ฒ˜๋Ÿผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ
- ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„, ์•„์ด์ฝ˜, ์ƒ‰์ƒ๋“ฑ์˜ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ํŒŒ์ผ

{
"name": "App", โžก๏ธ ์›น์•ฑ์˜ ์ด๋ฅพ ์ •์˜
"icons": [ โžก๏ธ ์›น์•ฑ์—์„œ ์‚ฌ์šฉํ•  ์•„์ด์ฝ˜ ๋ชฉ๋ก ์ •์˜
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36", โžก๏ธ ํ•ด์ƒ๋„๊ฐ€ ๋‚ฎ์€ ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "0.75" โžก๏ธ ์•„์ด์ฝ˜์˜ ํ•ด์ƒ๋„ ๋น„์œจ ์ •์˜
},โžก๏ธ ์•„์ด์ฝ˜ ๋ชฉ๋ก ์„ค๋ช…
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48", โžก๏ธ ํ‘œ์ค€ ๋ฐ€๋„(MDPI) ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72", โžก๏ธ ์ค‘๊ฐ„ ๋ฐ€๋„(HDPI) ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96", โžก๏ธ ๊ณ ๋ฐ€๋„(XHDPI) ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144", โžก๏ธ ์ดˆ๊ณ ๋ฐ€๋„(XXHDPI) ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192", โžก๏ธ ๋งค์šฐ ๋†’์€ ํ•ด์ƒ๋„(XXXHDPI) ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ
"type": "image\/png",
"density": "4.0"
}
]
}


### 1-4. Windows(Microsoft ํƒ€์ผ ์„ค์ •)
- Microsoft ํƒ€์ผ ์„ค์ •์ด๋ž€?
: Windows 8/10 ๊ณผ ๊ฐ™์€ Windows ์šด์˜ ์ฒด์ œ์˜ ์‹œ์ž‘ ๋ฉ”๋‰ด์— ์›น์‚ฌ์ดํŠธ๋ฅผ ์•ฑ์ฒ˜๋Ÿผ ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ํƒ€์ผ ์•„์ด์ฝ˜์ด ํ‘œ์‹œ๋œ๋‹ค.
โžก๏ธ ํƒ€์ผ ์•„์ด์ฝ˜์„ ์„ค์ •ํ•˜๋ฉด ๋…ํŠนํ•œ ์ด๋ฏธ์ง€์™€ ์ƒ‰์ƒ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด **์‚ฌ์šฉ์ž๊ฐ€ ๋” ์‰ฝ๊ฒŒ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ธ์‹ ๊ฐ€๋Šฅ**
- `msapplication-TileImage` , `msapplication-TileColor`์„ ํ†ตํ•ด ํƒ€์ผ์— ํ‘œ์‹œ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ œ์–ด
>```
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">

0๊ฐœ์˜ ๋Œ“๊ธ€