μλ νμΈμ ν κ°μΈ λΉμ λλ€.
νμμ μμνκΈ° μν΄ μ€ννμ§ μκ³ λ€μ νλ‘μ νΈλ₯Ό μ€μ νμ΅λλ€. μ§κΈκΉμ§λ κ·Έ λΌλλ₯Ό λνλ
λλ€. μ§λ¬Έμ λ΄ VSCodeμ λ€μ μ€ν¬λ¦°μ·μ λ£μ ν΄λ ꡬ쑰μ λν κ²μ
λλ€.
μλ λ΅λ³:
1) ν©λ¦¬μ μΌλ‘ λ€λ¦°λ€. λ°μ΄ν°λ₯Ό μ΄λμ λμ§λ μ μ μΌλ‘ κ·νμκ² λ¬λ € μμ§λ§ data
λΌλ λλ ν 리λ μΌλ°μ μΈ κ·μΉμ
λλ€.
2) μ¬κ·μ μΌλ‘ νμΌμ κ²μνλ―λ‘ μ€μ λ‘ νλ¬κ·ΈμΈμ 첫 λ²μ§Έ μΈμ€ν΄μ€λ§ νμνλ―λ‘ νμ λλ ν λ¦¬κ° ν¬ν¨λ©λλ€.
3) π
4) μΌλ°μ μΌλ‘ μμ μ κ². λΆνΈμ€νΈλ©μ κΈ°λ°μΌλ‘ νλ κ²½μ° μ¬μ΄νΈμ λν κ³ μ ν λμμΈμ ꡬμΆνκΈ°κ° μ΄λ ΅μ΅λλ€. https://react-bootstrap.github.io/μ κ°λ³ λΆνΈμ€νΈλ© κ΅¬μ± μμκ° λμμ΄ λ μ μμ΅λλ€.
5) μ€ν μμ€ κ΅¬μ± μμκ° μꡬ μ¬νμ μΆ©μ‘±νλ κ²½μ° μ¬μ©νμ§ μλ μ΄μ λ₯Ό μ μ μμ΅λλ€.
6) html.jsλ <div id="react-mount"></div>
μΈλΆ μ λͺ¨λ κ²μ μ μνκΈ° μν κ²μ
λλ€. λ μ΄μμ κ΅¬μ± μμλ λ¨Έλ¦¬κΈ λ° λ°λ₯κΈκ³Ό κ°μ νλͺ©μ μν κ²μ
λλ€. νμ΄μ§ κ΅¬μ± μμλ 머리κΈ/λ°λ₯κΈ λ΄λΆμ νμ΄μ§λ₯Ό μν κ²μ
λλ€.
7)
a) μνλ URLκ³Ό μΌμΉνλ νμ ν΄λμ νμΌμ λ£μΌμμμ€.
b/c) νμ΄μ§λ λ°μ΄ν°μμ νλ‘κ·Έλλ° λ°©μμΌλ‘ μμ±λλ―λ‘ https://github.com/gatsbyjs/gatsby/issues/421μ μννλ λ§μ λ°©λ²μ΄ μμ΅λλ€.
8) μ¬μ§μ΄ λͺ¨λ¬μΌ λ κ°μΈ λΉκ·Έλ¨ μ¬μ΄νΈ μλ‘κ³ μΉ¨ ;-)
9) src/utils ν΄λλ νμνμ§ μμ΅λλ€. λλ κ·Έκ²λ€μ μ¬μ©νμ¬ μμμ "μ νΈλ¦¬ν°" λͺ¨λμ μ¨κΈ°λ κ²μ μ’μνμ§λ§ λ€λ₯Έ μ‘°μ§ μ²΄κ³κ° μμ΅λλ€.
10) μ€μ λ‘ μΈλΌμΈ CSSκ° μλλλ€. κ΅¬μ± μμμμ μΌλ° CSSλ‘ μ€νμΌμ μΆμΆνλ Glamor https://github.com/threepointone/glamorλΌλ css-in-js λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ³ μμ΅λλ€. css-in-jsμλ λ§μ μ₯μ μ΄ μμ§λ§, μ΄μ κ΄κ³μμ΄ Sass/Less/PostCSSκ° μλ²½νκ² μ§μλλ©° μμΌλ‘ μ΄λ₯Ό μ¬μ©νλ λ λ§μ μμ κ° μμ κ²μ
λλ€.
11) π
12) gatsby-config.jsλ Gatsbyλ₯Ό μ€μ νκΈ° μν κ²μ
λλ€. gatsby-node/gatsby-browser/gatsby-ssrμ νμ΄μ§ μμ±, μ¬λ¬κ·Έ μμ±μ μν λ°μ΄ν° μ²λ¦¬, κ²½λ‘ λ³κ²½ μ λΈλΌμ°μ μ λΆμ μΆκ° λ±κ³Ό κ°μ μμ
μ μννκΈ° μν΄ λ€μν Gatsby API(νμμ λ°λΌ)λ₯Ό ꡬννκΈ° μν κ²μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
μλ λ΅λ³:
1) ν©λ¦¬μ μΌλ‘ λ€λ¦°λ€. λ°μ΄ν°λ₯Ό μ΄λμ λμ§λ μ μ μΌλ‘ κ·νμκ² λ¬λ € μμ§λ§
data
λΌλ λλ ν 리λ μΌλ°μ μΈ κ·μΉμ λλ€.2) μ¬κ·μ μΌλ‘ νμΌμ κ²μνλ―λ‘ μ€μ λ‘ νλ¬κ·ΈμΈμ 첫 λ²μ§Έ μΈμ€ν΄μ€λ§ νμνλ―λ‘ νμ λλ ν λ¦¬κ° ν¬ν¨λ©λλ€.
3) π
4) μΌλ°μ μΌλ‘ μμ μ κ². λΆνΈμ€νΈλ©μ κΈ°λ°μΌλ‘ νλ κ²½μ° μ¬μ΄νΈμ λν κ³ μ ν λμμΈμ ꡬμΆνκΈ°κ° μ΄λ ΅μ΅λλ€. https://react-bootstrap.github.io/μ κ°λ³ λΆνΈμ€νΈλ© κ΅¬μ± μμκ° λμμ΄ λ μ μμ΅λλ€.
5) μ€ν μμ€ κ΅¬μ± μμκ° μꡬ μ¬νμ μΆ©μ‘±νλ κ²½μ° μ¬μ©νμ§ μλ μ΄μ λ₯Ό μ μ μμ΅λλ€.
6) html.jsλ
<div id="react-mount"></div>
μΈλΆ μ λͺ¨λ κ²μ μ μνκΈ° μν κ²μ λλ€. λ μ΄μμ κ΅¬μ± μμλ λ¨Έλ¦¬κΈ λ° λ°λ₯κΈκ³Ό κ°μ νλͺ©μ μν κ²μ λλ€. νμ΄μ§ κ΅¬μ± μμλ 머리κΈ/λ°λ₯κΈ λ΄λΆμ νμ΄μ§λ₯Ό μν κ²μ λλ€.7)
a) μνλ URLκ³Ό μΌμΉνλ νμ ν΄λμ νμΌμ λ£μΌμμμ€.
b/c) νμ΄μ§λ λ°μ΄ν°μμ νλ‘κ·Έλλ° λ°©μμΌλ‘ μμ±λλ―λ‘ https://github.com/gatsbyjs/gatsby/issues/421μ μννλ λ§μ λ°©λ²μ΄ μμ΅λλ€.
8) μ¬μ§μ΄ λͺ¨λ¬μΌ λ κ°μΈ λΉκ·Έλ¨ μ¬μ΄νΈ μλ‘κ³ μΉ¨ ;-)
9) src/utils ν΄λλ νμνμ§ μμ΅λλ€. λλ κ·Έκ²λ€μ μ¬μ©νμ¬ μμμ "μ νΈλ¦¬ν°" λͺ¨λμ μ¨κΈ°λ κ²μ μ’μνμ§λ§ λ€λ₯Έ μ‘°μ§ μ²΄κ³κ° μμ΅λλ€.
10) μ€μ λ‘ μΈλΌμΈ CSSκ° μλλλ€. κ΅¬μ± μμμμ μΌλ° CSSλ‘ μ€νμΌμ μΆμΆνλ Glamor https://github.com/threepointone/glamorλΌλ css-in-js λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ³ μμ΅λλ€. css-in-jsμλ λ§μ μ₯μ μ΄ μμ§λ§, μ΄μ κ΄κ³μμ΄ Sass/Less/PostCSSκ° μλ²½νκ² μ§μλλ©° μμΌλ‘ μ΄λ₯Ό μ¬μ©νλ λ λ§μ μμ κ° μμ κ²μ λλ€.
11) π
12) gatsby-config.jsλ Gatsbyλ₯Ό μ€μ νκΈ° μν κ²μ λλ€. gatsby-node/gatsby-browser/gatsby-ssrμ νμ΄μ§ μμ±, μ¬λ¬κ·Έ μμ±μ μν λ°μ΄ν° μ²λ¦¬, κ²½λ‘ λ³κ²½ μ λΈλΌμ°μ μ λΆμ μΆκ° λ±κ³Ό κ°μ μμ μ μννκΈ° μν΄ λ€μν Gatsby API(νμμ λ°λΌ)λ₯Ό ꡬννκΈ° μν κ²μ λλ€.