Node.js 와 Firebase 연동하기 #1

이준석·2021년 3월 2일
1

NodeJs

목록 보기
3/8
post-thumbnail

✔ 안내 사항 : 본 블로그 내용은 개발에 도움을 주고자 작성한 글이 아닌 개발일기 형식이다. 따라서 큰 도움이 안될지도 모르니 개발에 필요한 정보를 빨리 얻고 싶으신 분은 다른 블로그로 가시는걸 추천드립니다.

서론


오늘은 짧고 굵게 쓸 것이다. 왜냐? 퇴근해서 너무 힘든데 node.js 가 굉장히 화나게 한다. java 였으면 30분이면 끝날것을 괜히 node.js 공부한다고, 그리고 firebase 쓴다고 다짐해서 연동하는데 빨리 끝내고 쉬려는 마음이 커서 그런지 하나씩 안될때 마다 짜증이 치솟는다. 그래서 안되는거 그냥 Github 에 커밋 해두었고 (이로써 1일 1커밋 완료!), 내일 다시 이어서 할 예정이다.

본론


우선 구글에서 제공하는 Javascript와 Firebase 연동하기 문서를 보고 진행했다. 이전에 한이음 프로젝트를 진행할 때 firebase를 안드로이드 앱 개발 때 사용해보았기 때문에 금방 끝날 줄 알고 해당 작업을 선택했다. 하지만 아니나 다를까 이 node.js 가 짜증나게 한다.

먼저 npm install firebase --savefirebase 를 다운받으라길래 다운받았다. 그리고 나의 firebase 콘솔로 들어가서 웹 앱 만들기(?)를 눌러서 이름을 정해주고 config 값들을 자동으로 생성해주길래 복사해서 붙여넣었다.

여기서부터 모든 것은 뒤틀리기 시작했다. 첫번째로 node.js 인데 <script> 태그로 되어있는 <script src="https://www.gstatic.com/firebasejs/8.2.9/firebase-app.js"></script> 를 넣으라고 되어있었다. (처음엔 발견 못했다가 블로그 찾아보다가 발견했다.) 따라서 index.js에 붙여넣으니 당연히 에러가 발생했다. 그래서 해당 <script> 태그를 적용해야겠다고 생각해서 html 파일을 하나 만들고자 생각했다.

먼저 index.js에 다음 코드를 추가했다.

app.get("/firebase-test", (res, req) => {
  res.render("firebase.ejs")
}

그리하여 https://localhost:3000/firebase-test 로 접속하면 firebase.ejs 화면이 뜨게 된다.

html 을 쌩으로 뜰라했더니 또 썡으로는 못쓰고 엔진이 필요하대서 찾아보니까 ejs 를 다운받으라고 해서 npm install ejs --save 로 다운받고 무슨 views 폴더에만 넣으라고 그래서 views 폴더에 firebase.ejs 를 넣어줬다.

화면이 잘 뜨는 모습을 확인한 나는
<script src="https://www.gstatic.com/firebasejs/8.2.9/firebase-app.js"></script> 태그를 head 안에 넣어주었다.

화면은 아주 잘 뜬다.

그 다음으로 firebase 공식 문서에 나와있는 부분과 블로그에서 firebase 에 데이터 넣는 방법을 넣고 다시 로드해봤다. 아니나다를까 터미널에는 exception 뜬 부분도 없는데 firebase 안에는 아무런 데이터도 들어있지 않았다. 그럼 뭐가 어디서 잘못된걸까? 하고 크롬 콘솔창을 보니 예전에도 개발할 때 require is not defined 때문에 짜증난적이 있었는데 이번에도 해당 오류가 떠있었다.

바로const firebase = require('firebase/app') 에서 말이다.

해당 부분을 찾아보니 무슨 <script> 태그를 넣어보라고 하는거 같은데 안된다. 안먹힌다. 그래서 index.js 에 그냥 통째로 붙여넣으니 이번에는 이런 오류가 뜬다.

var database = firebase.database();
                        ^
TypeError: firebase.database is not a function

그래서 여기까지 보고는 쉬고싶기도 하고 그만 앉아있고 싶어서 마무리 글을 작성중이다.

결론


시간이 많아서 차근차근 하면 좋을꺼 같은데 또 일찍 자야 내일 일을 할 수 있다보니 빨리 해야한다는 강박관념이 하루 계획을 망친 것 같다.

왤케 조급할 수 밖에 없는지 모르겠는데 체력이 약해서 그런건지 일하고 오면 오래 앉아있기가 힘들다. 익숙한 Java 를 할 때는 그나마 앉아 있겠는데 새로운걸 배울려고 하니까 더 힘들게 느껴진다.

그래도 하다보면 익숙해지고 책상에 앉아있는 시간도 늘어날 것으로 생각한다. 꾹 참고 하다보면 언젠간 될거라고 생각한다.

엄청 길게 쓴 거 같은데 스크롤 내려보니 되게 짧다. 오늘은 앉아서 글 쓴 것 만으로도 만족한다.

이만 누우러 간다.

뿅 💨

profile
호주 워홀중

0개의 댓글