Intro
์ค๋์ Firebase์ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํ๋ค.
node v16์์ firebase-tools๋ฅผ ์ค์นํ๊ณ firebase๋ฅผ ์คํํ๋๋ฐ v16๋ฒ์ ์์ ์ฌ์ฉํ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฌ๋ค.
ํ์ฌ lts ๋ฒ์ ์ผ๋ก 20.11.1์ธ๋ฐ ๋๋ ํ์ฐธ ๋ฎ์ ๋ฒ์ ์ ์ฐ๊ณ ์์๋ค. ๐
์ค๋ ํ์ตํ ๋ด์ฉ
Firebase๋ก ํ๋ก์ ํธ ๋ฐฐํฌํ๊ธฐ
Firebase | Google’s Mobile and Web App Development Platform
๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์๊ฐ ์ข์ํ ๋งํ ์ฑ๊ณผ ๊ฒ์์ ๋น๋ํ๋๋ก ์ง์ํ๋ Google์ ๋ชจ๋ฐ์ผ ๋ฐ ์น ์ฑ ๊ฐ๋ฐ ํ๋ซํผ์ธ Firebase์ ๋ํด ์์๋ณด์ธ์.
firebase.google.com
- Firebase ํ์ด์ง์์ ๋ก๊ทธ์ธ ํ, ํ๋ก์ ํธ ์ถ๊ฐ
- ์์ฑํ ํ๋ก์ ํธ ํ์ด์ง์์ ํธ์คํ ํ์ด์ง๋ก ์ด๋ (firebase ์ค์น, ์คํ ๋ฐฉ๋ฒ์ ํ์ธํ๊ณ ๊ทธ๋๋ก ์งํ)
- ํฐ๋ฏธ๋๋ก firebase ์ค์นํ๊ธฐ
$ npm install -g firebase-tools
- ํ๋ก์ ํธ ์ด๊ธฐํ
ํฐ๋ฏธ๋์์ ํ์ฌ ์น์ฑ์ ์์น๋ก ์ด๋ํด ๋ก๊ทธ์ธ๊ณผ ์ด๊ธฐํ๋ฅผ ์งํ
$ firebase login
$ firebase init
Which Firebase features do you want to set up for this directory?
: firebase init ์ค์ ์์ Hosting ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด 'Hosting: Set up GitHub Action deploys'๋ฅผ ์ ํํ๋ค.
What do you want to use as your public directory?
: ํธ์คํ ์ ์ ๊ทผํ ๊ณต๊ฐ ํด๋๊ฐ build์ด๋ฏ๋ก 'build' ์ ๋ ฅ ํ ์ํฐ
ํธ์คํ ์ค์ ์ด ๋๋๋ฉด firebase.json, .firebaserc 2๊ฐ์ ํ์ผ์ด ์์ฑ๋๋ค.
- firebase.json: ํธ์คํ ๊ตฌ์ฑ์ ์ ์
{
"hosting": {
"site": "site-name",
"public": "build",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
- .firebaserc: ๋ฐฐํฌ ๋์ ํ๋ก์ ํธ ์ ์
{
"projects": {
"default": "hosting-name"
}
}
- firebase ํธ์คํ ์ ๋ฐฐํฌ
$ npm run build
$ firebase deploy
๋ง๋ฌด๋ฆฌ
ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ๊น์ง ๋ฐฐ์ฐ๋๊น ์ผ๋ฅธ ์๋ก์ด ์น ์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ด์ก๋ค. ใ ใ
