110. Setting up the Firebase SDK
npm create vue@latest
์ด ๊ฐ์์์๋ Firebase SDK
๋ฅผ ์ค์นํ๊ณ ํ๋ก์ ํธ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.Firebase SDK
๋ Firebase
์ ์ ํ๊ณผ ํต์ ์ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
- Firebase SDK ์ค์น: SDK๋ NPM์ ์ฌ์ฉํ์ฌ ์ค์นํ ์ ์์ต๋๋ค.
์ปค๋งจ๋ ๋ผ์ธ์์npm i firebase
๋ช ๋ น์ด๋ฅผ ์คํํ์ฌFirebase
๋ฅผ ์ค์นํฉ๋๋ค. - ๊ตฌ์ฑ ํ์ผ ์์ฑ: Firebase ์ค์ ์ ๋ณ๋์ ํ์ผ(
firebase.js
)๋ก ๋ถ๋ฆฌํ์ฌ ๋ฉ์ธ JS ํ์ผ์ ํผ๋์ ์ค์ ๋๋ค. - Firebase ๋ชจ๋ ์ํฌํธ: Firebase์์ ํ์ํ ํน์ ๋ชจ๋๋ง์ ์ํฌํธํฉ๋๋ค.
์๋ฅผ ๋ค์ด,Firebase SDK
์ ํต์ฌ์ธApp
๋ชจ๋์ ์ํฌํธํฉ๋๋ค.
ํ์ํ ๊ธฐ๋ฅ๋ง์ ๊ฐ๋ณ์ ์ผ๋ก ์ํฌํธํ๋ ๊ฒ์ด ์ฑ์ ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. - ์ฐ๊ฒฐ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ: Firebase ์ฝ์์์ ํ๋ก์ ํธ๋ฅผ ์ ํํ๊ณ , ์น ํ๋ซํผ์ ์ํ ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํฉ๋๋ค.
- Firebase ๊ตฌ์ฑ ๊ฐ์ฒด: ๊ตฌ์ฑ ๊ฐ์ฒด์๋ API ํค, ์ธ์ฆ ๋๋ฉ์ธ, ํ๋ก์ ํธ ID, ์ ์ฅ์ ๋ฒํท, ๋ฐ์ ์ ID, ์ฑ ID ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ Firebase์ ์ฐ๊ฒฐํ๊ณ ์ธ์ฆ ๋ฐ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ๊ตฌ์ฑํฉ๋๋ค. - Firebase ์ฑ ์ด๊ธฐํ:
Firebase.initializeApp
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๊ณ Firebase ์ฑ์ ์ด๊ธฐํํฉ๋๋ค.
์ด ํจ์๋ Firebase์์ ํต์ ์ ์ํ ์ธ์คํด์ค๋ฅผ ๋ฐํํฉ๋๋ค. - ์ธ์ฆ ๋ชจ๋ ์ํฌํธ: ์ฌ์ฉ์ ์ธ์ฆ์ ์ํด
firebase/auth
๋ชจ๋์ ์ํฌํธํฉ๋๋ค.
Firebase๋ ํ์ํ ๋ชจ๋์ ํต์ฌ ๋ชจ๋์ ์๋์ผ๋ก ํ์ฅํฉ๋๋ค.
์ด ๊ณผ์ ์ ํตํด Firebase SDK
๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํ๋ก์ ํธ์ ํตํฉํ๊ณ , Firebase
์์ ํต์ ์ ์ํ ์ค๋น๋ฅผ ๋ง์น๊ฒ ๋ฉ๋๋ค.Firebase SDK
๋ฅผ ์ฌ์ฉํ๋ฉด Firebase ์ ํ๊ณผ ์ฝ๊ฒ ํต์ ํ๊ณ ๋ค์ํ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
npm i firebase
src/main.ts
import './assets/base.css'
import './assets/main.css'
import './includes/firebase'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
import VeeValidatePlugin from './includes/validation'
const app = createApp(App)
app.use(createPinia())
app.use(router)
// app.use(VeeValidatePlugin, { foo: 100 })
app.use(VeeValidatePlugin)
app.mount('#app')
ย
src/includes/firebase.ts
import { initializeApp } from 'firebase/app'
import 'firebase/auth'
const firebaseConfig = {
apiKey: 'xxx',
authDomain: 'xxx',
projectId: 'xxx',
storageBucket: 'xxx',
// messagingSenderId: 'xxx',
appId: 'xxx'
}
export default initializeApp(firebaseConfig)