본문 바로가기
넥스트 제이에스

mongoDB였던것

by 띠리에이터 2024. 2. 26.
환경변수
  • 프로그램에서 실행 환경에 따라 다른 값을 지정할 수 있는 변수
    -> 데이터베이스 주소와 같은 값을 소스코드에 그대로 쓰는 것은 위험해서 환경변수로 사용하는 것이 좋음
    -> precess.env라는 객체를 통해서 참조할 수 있음

  • next.js에서는 기본적으로 dotenv라는 라이브러리를 지원
    -> .env같은 이름의 파일에서 환경 변수들을 저장해두면  node.js 프로젝트를 실행할 때 환경변수로 지정해주는 라이브러리
    -> 주의할 점은 .env 파일 같은 건 소스코드에 포함시키면 안된다. 
//.env.local

MONGODB_URI=mongodb+srv://admin:blahblah@.clusterName.blahblah.mongodb.net/
	databaseName?retryWrites=true&w=majority
 // 이 값을
 
 //pages/api/nextData
 export default function nextData(req, res) {
  const DB_URI = process.env.MONGODB_URI;
  // 데이터베이스 접속 ...
}
//이런식으로 사용

 

  • 환경변수가 웹사이트에 노출되는 것을 막기 위해서 클라이언트 사이드에서 사용하는 환경변수에 접두사를 사용.
    -> NEXT_PUBLIC_ 라고 이름을 붙이면 이 환경 변수는 클라이언트 사이드에서도 사용 가능
  • 예시 -- 클라이언트 사이드에서 현재 사이트의 호스트 주소를 저장해두고 참조하고 싶을 때 
MONGODB_URI=mongodb+srv://admin:blahblah@cluster0.blahblah.mongodb.net/
		databaseName?retryWrites=true&w=majority


NEXT_PUBLIC_HOST=http://localhost:3000

export default Home() {
  // 페이지 컴포넌트에서는 아래와 같이 사용
  return (
    <>호스트 주소: {process.env.NEXT_PUBLIC_HOST}</>
  );

 

'넥스트 제이에스' 카테고리의 다른 글

02.15 next.js의 프리렌더링 공부  (0) 2024.02.15
next.js공부중  (0) 2024.02.14