환경변수
- 프로그램에서 실행 환경에 따라 다른 값을 지정할 수 있는 변수
-> 데이터베이스 주소와 같은 값을 소스코드에 그대로 쓰는 것은 위험해서 환경변수로 사용하는 것이 좋음
-> 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 |