μ§λ μ£Όλ λ‘κ·ΈμΈ κΈ°λ₯μ λ°±μλ ꡬνμ΄ μλ£λμ΄ APIλ₯Ό μ°λνκ³ λ‘κ·ΈμΈ κΈ°λ₯μ μμ±μμΌ°λ€.π
μ²μμλ λ°±μλ νμκ³Όμ μν΅μ λν΄ κ±±μ μ΄ μμμ§λ§, λ°±μλ νμμ΄ νλ‘ νΈμλ μ§μμ΄ μμ΄ μ€λͺ
μ μν΄μ£Όμ
¨λ€. ππ»
κ·Έλ¬λ λ‘κ·ΈμΈ κΈ°λ₯μ ꡬννλ μ€μ ν΄λ¨Ό μλ¬κ° λ°μνμ¬ κ·Έ ν΄κ²°μ μκ°μ΄ μμλμλ€.(μμΈν μ¬νμ μλμμ.. π₯²)
1μ£Όμ°¨μλ UI λ μ΄μμμ ꡬμ±νλλ° μκ°μ λ§μ΄ μμλ€.π¦
νΌκ·Έλ§λ‘ μμ΄μ΄νλ μμ 미리 ꡬμ±ν΄λ λλΆμ μ΄ μμ
μ μμ‘°λ‘κ² μ§νλμλ€.
1μ£Όμ°¨ λͺ©νμΈ λ‘κ·ΈμΈ κΈ°λ₯ ꡬνμ μλ£νμκ³ , 리λμ€ μ¬μ© λ°©λ²μ λν΄ κ³΅λΆνμ¬ μ μ©νμλ€.
UI μ μ κ³Όμ μμλ μμ΄μ΄ νλ μκ³Ό μ‘°κΈ λ€λ₯Έ λμμΈμ΄ λμ€κΈ°λ νλ€.
API μ°λ κ³Όμ μμ κΉνλΈ λ ν¬λ₯Ό λλ μ ν
μ€νΈλ₯Ό μ§ννμ§λ§, CORS μλ¬ λ± μ¬λ¬ λ¬Έμ κ° λ°μνλ€.
μλ²μμ 보λ΄λ λ°μ΄ν°μ ν΄λΌμ΄μΈνΈμμ λ°μ΄ν°λ₯Ό νμ±νλ κ³Όμ μμλ λ¬Έμ κ° λ°μνμλ€.
envλ₯Ό ν΅ν΄ APIλ₯Ό λΆλ¬μ€λ κ³Όμ μμ API URLμ΄ μ λλ‘ λΆλ¬μμ§μ§ μλ λ¬Έμ λ μμλ€.π₯²
μ΄νμλ ν¬λ‘¬ μΏ ν€λ₯Ό μμ νμ¬ ν ν°μ λ°μμ€μ§ λͺ»νλ λ¬Έμ λ₯Ό ν΄κ²°νκ³ , λ‘κ·ΈμΈ λ²νΌ ν΄λ¦ ν λ‘κ·ΈμΈμ΄ μ±κ³΅μ μΌλ‘ μλ£λμμμλ λ©μΈνμ΄μ§λ‘ μ΄λνλλ° λ¬Έμ κ° μμ΄ μ΄λ₯Ό μμ νλ€.
βοΈ CORS μλ¬
Reason - κΉν λ ν¬λ₯Ό λλμ΄μ μ°λ ν μ€νΈν λ°©λ² κ³ λ―Ό. (λ°±μλ μμ λ°°ν¬/Ngrok) β λ°±μλ μμ λ°°ν¬μ μ½λκ° μμ λ λλ§λ€ build ν΄μΌνλ μν© λ°μ β Ngrok μ¬μ©. νμ§λ§ CORS μλ¬ λ°μ
β ν΄κ²°
1. ν¬νΈ ν¬μλ©
2. GET λ©μλ μ¬μ©μ headerμ μλ μ½λ μΆκ°headers: new Headers({ "ngrok-skip-browser-warning": "69420", }),
βοΈ response μλ¬
response λ₯Ό κ²μ¦νλ κ³Όμ μμ email κ°μ΄ undefinedκ° μΆλ ₯λμλ€.
μ΄ λΆλΆμμλ μλ²μμ 보λ΄λ λ°μ΄ν° λ email : κ° μΌλ‘ 보λ΄μ§λ§ client λΆλΆμμ λ°μ΄ν°λ₯Ό νμ±ν λ Email μλν λ°μ΄ν°λ₯Ό νμ±νλ €λ undefined μλ¬λ₯Ό λ°ννλ€.
β ν΄κ²°
form IDκ° λλ¬ΈμE
λ‘ λμ΄ μμ΄ μλ¬Έμe
λ‘ μμ νλ€.
βοΈ env μλ¬
envλ₯Ό ν΅ν΄ APIλ₯Ό λΆλ¬μ€λ κ³Όμ μμ API URLμ΄ undefinedλ‘ λΆλ¬μμ‘λ€.
β ν΄κ²°
envνμΌμ μμΉκ° μ¬λ°λ₯΄μ§ λͺ»ν΄ μκΈ΄ μ΄μμλ€. env νμΌ μμΉ μμ
βοΈ λ‘κ·ΈμΈ μλ¬
λλ₯Ό μ μΈν λλ¨Έμ§ νλ‘ νΈμλ λΆλ€μ΄ λ‘κ·ΈμΈ μ ν ν°μ λ°μμ€μ§ λͺ»νλ λ¬Έμ κ° μκ²Όλ€.
β ν΄κ²°
ν¬λ‘¬ μΏ ν€ μμ
βοΈ navigate μλ μλ¬
λ‘κ·ΈμΈ λ²νΌ ν΄λ¦ ν λ‘κ·ΈμΈμ΄ μ±κ³΅μ μΌλ‘ μλ£ λμλ€λ©΄ navigateκ° μλνμ¬ λ©μΈνμ΄μ§λ‘ μ΄λμ΄ λ°λ‘ λμ΄μΌνμ§λ§, λ‘κ·ΈμΈ μνκ°μ΄ μ λ°μ΄νΈ λκ³ νλ² λ λλ¬μΌ μλνλ λ²κ·Έλ₯Ό λ°κ²¬νλ€.
β ν΄κ²°
await λ₯Ό μ¬μ©νμ¬ λ‘κ·ΈμΈ λ°μ΄ν°λ₯Ό λΆλ¬μ€λ κ³Όμ μ΄ μλ£ λ ν, ν¨μκ° μ€νλλλ‘ μμ νλ€.
2μ£Όμ°¨μλ 리λμ€μ κΈ°λ³Έμ μΈ κΈ°λ₯κ³Ό μ‘μ
, ν΄ν· λ± μ¬μ©λ²μ μ΅νλ€.
λν, νμ΄μ§κ° λ λλ§ λ λ μλ²μ λ무 λ§μ μμ²μ 보λ΄λ©΄ λΆλ΄μ΄ λλ€λ κ²μ κΉ¨λ¬μ λ λλ§ μ΅μ νμ λν΄ κ³΅λΆνκ³ , λ€μ μ£Όμ μ μ©ν μμ μ΄λ€.
κ³΅ν΅ ν¨μλ₯Ό λ°λ‘ λΆλ¦¬νμ¬ κ΄λ¦¬νλ κ²μ΄ ν¨κ³Όμ μ΄λΌλ νΌλλ°±μ λ°μκ³ μ΄λ₯Ό μ μ©ν μμ μ΄λ€.
κ·Έλ¦¬κ³ ν ν°μ΄ λ§λ£λλ©΄ μλμΌλ‘ λ‘κ·ΈμΈμ μ°μ₯νλ κΈ°λ₯μ μΆκ°ν κ³νμ΄λ€.
2μ£Όμ°¨μλ λ°±μλμ νλ‘ νΈμλμ ννμ μ μ°Ύλ κ³Όμ μμ ν μ¬μ΄κ° λ μ’μμ‘λ€.
μ°λ¦¬ νμλ€μ λ¬Έμ κ° μμ μ, νλ©΄ 곡μ λ₯Ό νμ¬ νλ‘ νΈ, λ°± μκ΄μμ΄ ν΄κ²°μ λκΈ° μν΄ μ΄λ€ κ²μμ νλ©°
ν΄κ²° λ°©μμ λν΄ ν¨κ» ν λ‘ νλ©° ν΄κ²°νκ³ μλ€.ππ»
μ΄λ₯Ό ν΅ν΄ μλ‘λ₯Ό μ΄ν΄νκ³ , ννμ μ μ°Ύλ κ³Όμ μμ νμν¬κ° λμ± λλ
ν΄μ§ κ² κ°λ€.
λ°±μλμ API μ°λμ΄ μ²μμ΄λΌ ν΄λ¨Ό μλ¬λ₯Ό λ§μ΄ λ°μμμΌ°λ€.
νμ§λ§ μ΄λ° λ¬Έμ λ€μ ν΄κ²°νλ κ³Όμ μμ νΈλ¬λΈ μν
κΈ°λ‘μ λ°νμΌλ‘ μ€μλ₯Ό μ€μΌ μ μμλ€.
μμΌλ‘ κΈ°μ μ λΆμ±λ₯Ό μ€μ΄κΈ° μν΄ λμ± λ
Έλ ₯ν΄μΌκ² λ€.
3μ£Όμ°¨μλ μΉ΄μΉ΄μ€μ κ΅¬κΈ μμ
λ‘κ·ΈμΈ μ°λμ μλ£νκ³ , λ°±μλμμ μλ¦Ό API κ°λ°μ΄ μλ£λλ©΄ μ΄λ₯Ό μ°λνλ κ²μ λͺ©νλ‘ νκ³ μλ€.
λ°°ν¬ ν Performance insightsλ‘ μ±λ₯ κ°μ μ ν κ²μ΄λ€.
κ·Έλ¦¬κ³ μκ°μ΄ λλ€λ©΄ μ€ν 리λΆλ μμ±ν μμ μ΄λ€.