react 파일과 mongoDB를 연결하다가 .env파일을 사용해야할 경우가 생겼다.
평상시 react 파일에서는 util파일안에 .env파일을 만들고 그 안에 REACT_APP_어쩌구 이렇게 설정을 하고 나서 다른파일에서 사용할땐
별다른것 없이 process.env.REACT_APP_어쩌구 를 했더니 잘만되던게 갑자기 안되었다.
찾아보니 dotenv 라이브러리의 도움으로 해결할 수 있다고 함
npm i dotenv
설치만 해주고 끝나는게 아닌 파일안에서 코드작성도 해주어야한다.
나의 경우 node.js를 사용해서 서버를 구축 중이였고 commonJS 형식으로 코드를 작성하였다.
(es6의 경우에는 import구문으로 작성해야한다고 함)
// server/index.js
const dotenv = require('dotenv');
dotenv.config();
console.log(process.env.REACT_APP_ADDRESS)
근데 여기서 문제가 발생했다.
설정할꺼 다하고 console.log를 했더니 undefined가 떴다.
계속 이것저것 다해보고 찾은 undefined의 원인은 파일의 위치였다.(.env파일의 위치)
.env파일은 루트경로에 있으면 된다고 하길래 가장 루트 경로에 놔두었는데 알고보니 내가 실행하는 파일의 루트경로에 놔두어야한다고 함
나의 경우 한 파일안에 server와 client파일이 분리되어 있어서 이 두 파일을 합친 가장 상위 파일에다가 .env파일을 위치했다.
server파일안으로 옮기고 나니 바로 실행완료;;
'끄적끄적' 카테고리의 다른 글
react mongoDB연결2 (0) | 2023.07.08 |
---|---|
react mongoDB연결 (0) | 2023.07.05 |
서버로 POST 그리고 응답받기 (0) | 2023.07.04 |
react + express + mongoDB (0) | 2023.07.03 |
git pull --rebase (0) | 2023.06.14 |