프로젝트 생성
npx create-react-app nwitter
App.js
import React from 'react';
function App() {
return (
<div> </div>
);
}
export default App;
index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
그 외의 src폴더 내 파일은 삭제
깃허브에 레포지토리를 생성하고 초기설정 업로드
Firebase -> 구글 아이디로 로그인
: 구글이 인수한 백엔드 DB, 처음엔 DB역할만 했으나 지금은 백엔드 전반의 역할을 담당, 초기에 프로젝트 만들 때 용의(google에게서 모든걸 빌려서 사용하기 때문), 전문적으로 만들 때는 다른 프로그램 사용
홈페이지 상단의 '콘솔로 이동' 클릭 후 '프로젝트 만들기' 클릭
프로젝트 이름 입력 후 계속
프로젝트가 생성되면 app을 생성해야한다
해당 부분에서 만들고자 하는 유형의 app 아이콘 클릭
작성자는 웹을 선택했다
강의는 이전 버전의 firebase를 사용하지만 나는 최신버전으로 바꾸어 사용해보려고 한다.
설치 후 fBase.js 파일 생성하여 firebase 페이지의 전체 내용을 복사하여 넣는다
import { initializeApp } from "firebase/app";
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};
const app = initializeApp(firebaseConfig);
export default app;
npm rum start
하여 에러 없이 잘 실행되면 firebase 기본 설정 완료!
.env
환경변수의 이름은 꼭 'REACTAPP'으로 시작
creat-react-app이 환경변수라는걸 인식할 수 있도록
REACT_APP_API_KEY=key값
REACT_APP_AUTH_DOMAIN = key값
REACT_APP_PROJECT_ID = key값
REACT_APP_STORAGE_BUCKET = key값
REACT_APP_MESSAGIN_ID = key값
REACT_APP_APP_ID = key값
const firebaseConfig = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTH_DOMAIN,
projectId: process.env.REACT_APP_PROJECT_ID,
storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_MESSAGIN_ID,
appId: process.env.REACT_APP_APP_ID
};
.gitignore 에 추가
.env
firebase에는 너무나 많은 개인정보가 포함되어있기 때문에 공개적인 깃허브에 올리는것은 좋지 못하다
.gitignore에 env 파일을 추가하여 깃허브에 key값이 공개되지 않도록한다.
이 부분은 오직 깃허브에 공개되지 않도록 하는 부분이다. 실제 작동에서는 실제 key 값을 가져와 일반 js로 변환하기 때문에 일반적인 보안방법이라고 볼 수 없다