๋ฆฌ์กํธ ํ๋ก์ ํธ์ firebase login์ ์ถ๊ฐํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋ญ๊ฐ ๋ฌธ์ ๋ฐ!
HTML์ CSS๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ, HTML๊ณผ CSS๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ?
XMLHttpRequest(XHR) ๊ฐ์ฒด๋ ์๋ฒ์ ์ํธ์์ฉํ๊ธฐ ์ํด ์ฐ์ธ๋ค. ์ ์ฒด ํ์ด์ง์ ์๋ก๊ณ ์นจ ์์ด URL๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ์ ์์ด ํ์ด์ง์ ์ผ๋ถ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์๋ค. ์ด๋ AJAX ํ๋ก๊ทธ๋๋ฐ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
FormData๋ form ํ๋, ๊ทธ ๊ฐ์ ๋ํ๋ด๋ key, value์์ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ํด์ค๋ค. ๋ํ XMLHttpRequest.send() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฝ๊ฒ ์ ์กํ ์๋ ์๋ค.
HTML, CSS๊น์ง ๋ฐฐ์ฐ๊ณ , JavaScript๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์์ํ ๋ถ์ด๋ผ๋ฉด ๋๊ตฌ๋ ํ๋ฒ์ฏค์ ์ด๋ฐ ๊ณ ๋ฏผ์ ํด๋ณด์์ ๊ฒ์ด๋ค. ํ์๋ ๋งค๋ฒ ๊ถ๊ธํดํ๋ ๊ฒ์ด์๋ค ! ๐
async์ await์ promise๋ฅผ ์ข ๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค. ๋ํ ๋น๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ ๊ฒ์, ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ค์ด์ค๋ค.
promise๋ JavaScript์์ ๋ด์ฅ๋ Object์ด๋ค. ์ด๋ ๋น๋๊ธฐ๋ฅผ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ Object๋ก, ์ฝ๋ฐฑํจ์ ๋์ ์ฌ์ฉํ ์ ์๋ค.
JavaScript๋ ๋๊ธฐ์ ์ธ ์ธ์ด์ด๋ค. ํธ์ด์คํ ์ด ๋ ์ดํ๋ถํฐ ์ฝ๋๊ฐ ์์ฑํ ์์์ ๋ฐ๋ผ ํ๋์ฉ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฒ์ ๋ฐ์ดํฐ ๊ตํ ์ ์ด์ฉํ๋ JSON์ ๋ํด ์์๋ณด์.
API๋ application programming Interface์ ์ค์๋ง๋ก, ์ ํ๋ฆฌ์ผ์ด์ ๋ง์ ๋งํ๋ ๊ฒ ์๋ ํจ์๋ API์ ํด๋น๋๋ค. server ์ ์ฅ์์์ API๋ client๊ฐ ์ฌ์ฉํ ์ ์๋ URL๊ณผ ๊ฐ์ ๊ฒ์ ์๋ฏธํ๋ค.
CORS.. ์ ๋ง ๋ง์ด ๋ค์ด๋ณธ ๋จ์ด์ง๋ง ๋ฌด์จ ๋ด์ฉ์ธ์ง ์์ธํ๋ ๋ชฐ๋๋ค. HTTP ํค๋์ ๋ํด ๊ณต๋ถํ๋ ์ค ๋ณธ๋ฌธ์ ๋์๊ธธ๋ ๋๋์ด ๊ณต๋ถํ๋ค ๐ ํ์ฅ์ผ๋ก ์์๋ณด๋ CORS!
ํ๋ก์ ์๋ฒ๋ ์ธํฐ๋ท ์์ ์ฌ๋ฌ ๋คํธ์ํฌ๋ค์ ์ ์ํ ๋ ์ค๊ณ ์ญํ ์ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ or ์ปดํจํฐ๋ฅผ ์๋ฏธํ๋ค. www ์์ ์ปจํ ์ธ ์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋ค. ํ๋ก์๋ request๋ฅผ ๊ฐ๋ก์ฑ ๋ค reponse๋ฅผ ๋๋ ค์ค๋ค. ์ด๋ ๊ฒ ๊ฐ๋ก์ฑ request๋ฅผ ์ ๋ฌํด์ค ์
HTTP ํค๋..? HTTP์ ๋ํด ์์์ผํ ๊ฒ ์ ๋ง ๋ง๋ค ๐คฃ ์์ฃผ ์ฐ์ด๋ HTTP ํค๋์๋ ๋ฌด์์ด ์๋์ง๋ ํจ๊ป ์์๋ณด์.
URL, HTTP request method, ๋ฉฑ๋ฑ์ฑ์ ๋ํด ์์๋ณด์.
HTTP Status code๋ ๊ต์ฅํ ๋ค์ํ๋ค. ์ด ์ค ์์ฃผ ์ฐ์ด๋ status code๋ค์ ์์๋ณด์.
๋ฆฌ์กํธ ๋ผ์ฐํฐ๋ฅผ ์ ์ฉํด๋ณด๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
๋ ธ๋js ํฌ๋กค๋ง ์์ ์ ๋ฃ๋์ค.. ๋๋ 1๊ฐ๋ถํฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋คใ ์ด๋ฌ๊ธฐ์์ด?ใ ใ ์ด์ฌํ ๊ตฌ๊ธ๋ง ํ ๊ฒฐ๊ณผ ํด๋น ์ฌ์ดํธ๋ฅผ ๋ฐ๊ฒฌํ๋ค.... ๊ทผ๋ฐ ์ ์๋๋๋ผ๊ณ ์ ใ ....์ด ์๋ฌ์ ๋ ๋ง๋ฌ๋ค๋ฌด์์ด๋๋\~\~~ ๊ณ์ ์ฐพ๋ ๋์ค ์ด๋ฐ ๊ธ๋ ๋ดค์ง๋ง, ์ด๋ ๊ฒ ํ๋ฉด require()
Error: Cannot find module '๊ฒฝ๋ก' ์ค๋ฅ์ [nodemon] app crashed - waiting for file changes before starting... ์๋ฌ ํด๊ฒฐํ๊ธฐ
Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that someth
๋ฐ๋ฒจ referenceError??? LTS ๋ฒ์ ์ node.js ์ฌ์ฉํ๊ธฐ!