๐ŸŒ ๊ฐœ์ธ ๋น„๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์–ด์š”!

6864 ๋‹จ์–ด webdevportfoliogatsbyjavascript
6๋…„ ๋„˜๊ฒŒ ์›น ๊ฐœ๋ฐœ์ž๋กœ ์ผํ–ˆ์ง€๋งŒ 2018๋…„์—์•ผ ์›น์‚ฌ์ดํŠธ์šฉ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ตฌ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์ œ์•ผ ์›น์‚ฌ์ดํŠธ๋ฅผ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์œผ๋ฅธ ๊ฒƒ ๊ฐ™์•„์š”.

ํ•˜์ง€๋งŒ ์ €๋Š” ์ด ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ œ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ์›น์‚ฌ์ดํŠธ ์ค‘ ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ์„ฑ๋Šฅ์ด ์ตœ์ ํ™”๋œ ์›น์‚ฌ์ดํŠธ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

chandujs.dev



์•„์ฃผ ๊ฐ„๋‹จํ•˜์ฃ ?

๋‚ด ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ๊ฒƒ๋“ค์„ ๋ถ„์„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ ๋น„



์ด ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ๋Š” ์›น ๊ฐœ๋ฐœ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ์ƒ๊ฐํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
Gatsby๋Š” ๋น ๋ฅด๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ์ตœ์‹  React์šฉ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์€ Angular์—์„œ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Gatsby๋ฅผ ๋ฐฐ์šด ํ›„ Gatsby๋กœ ์ด์‹ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต์ œํ•˜๊ณ  here์—์„œ ์ž‘์—…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ



Gatsby์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„์นด์ด๋ธŒ๋Š” ์ถฉ๋ถ„ํžˆ ํ’๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋กœ๊น…



๋‚ด ์›น ์‚ฌ์ดํŠธ์— ๋ธ”๋กœ๊ทธ ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ gatsby-source-dev ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด ์‚ฌ์šฉ์ž ID์˜ dev.to ๊ฒŒ์‹œ๋ฌผ์„ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด ์›น์‚ฌ์ดํŠธ์— ๋ Œ๋”๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์†์‰ฌ์šด ๋ธ”๋กœ๊น… โ€‹โ€‹๐Ÿ˜Ž

ํฌํŠธํด๋ฆฌ์˜ค ์‡ผ์ผ€์ด์Šค



์›น์‚ฌ์ดํŠธ์— ๋‚ด ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

  • gatsby-source-filesystem ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๋‚˜์—ดํ•˜๋ ค๋ฉด

  • gatsby-plugin-sharp ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ

  • gatsby-transformer-sharp ์„ ๋ช…ํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ง€์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ์œ ํ˜•์—์„œ ImageSharp ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค
  • .

  • gatsby-transformer-remark Remark๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Markdown ํŒŒ์ผ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

  • gatsby-remark-images ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งˆํฌ๋‹ค์šด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • gatsby-remark-relative-images ๋งˆํฌ๋‹ค์šด์˜ ์ด๋ฏธ์ง€ src๋ฅผ ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • gatsby-plugin-extract-image-colors ์ด๋ฏธ์ง€์—์„œ ์ƒ‰์ƒ์„ ์ถ”์ถœํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
  • .

    ์ตœ์ ํ™”



    Performance optimization์€ Gatsby์—์„œ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์›น ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ 95%๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ๊ธฐ์‚ฌ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐhere




    ๋„ท๋ฆฌํŒŒ์ด CMS



    ์ €๋Š” Netlify์˜ ํ—ค๋“œ๋ฆฌ์Šค CMS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด CMS๋Š” ์ •์  ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ํ†ตํ•ฉํ•˜๊ธฐ ์‰ฌ์šด CMS์ž…๋‹ˆ๋‹ค. Gatsby ์›น์‚ฌ์ดํŠธ์™€ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
    Netlify CMS์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐhere

    ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น ์•ฑ



    ์ด ์›น์‚ฌ์ดํŠธ๋Š” PWA์ด๋ฏ€๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ์—ด๋ฉด ๋‚˜์ค‘์— ์›น์‚ฌ์ดํŠธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ์‰ฌ์šด ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด Gatsby ์›น์‚ฌ์ดํŠธ๋ฅผ PWA๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    gatsby-plugin-offline ๋…ธ๋“œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  plugins ํŒŒ์ผ์˜ gatsby-config.js ์–ด๋ ˆ์ด ๋์— ์•„๋ž˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    [
    //...
        {
          resolve: `gatsby-plugin-manifest`,
          options: {
            name: 'Chandu J S',
            short_name: 'Chandu',
            start_url: '/',
            background_color: Variables.colors.brand,
            theme_color: Variables.colors.brand,
            display: 'standalone',
            icon: 'src/assets/images/icon.png',
            crossOrigin: `use-credentials`,
          },
        },
        'gatsby-plugin-offline',
    //...
    ]
    


    ๋„ท๋ฆฌํŒŒ์ด



    ํ˜ธ์ŠคํŒ… ์ธก๋ฉด์—์„œ ์ €๋Š” ์ œ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ ์œ„ํ•ด ๋น„์šฉ์„ ์ „ํ˜€ ์ง€๋ถˆํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค ๐Ÿ˜.Netlify๋Š” ์ •์  ์›น์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ…์„ ์ œ๊ณตํ•˜๋Š” ๋ฉ‹์ง„ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

    Netlify๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    ๋” ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”.

    ๋‚ด ์›น์‚ฌ์ดํŠธ์˜ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹คhere. ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

    ์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ