publicRuntimeConfig 질문
396
작성한 질문수 1
client 단에서 사용하기 위해 publicRuntimeConfig setting을 한다고 하셨는데,
server 단과 client 단 둘다 동시에 적용하는 방법 중에,
.env 파일 안에, NEXT_PUBLIC_ 을 붙이는 방법도 있는 것으로 알고 있습니다.
2개의 차이점이 있을까요?
감사합니다.
답변 1
1
안녕하세요 younhee님.
저희가 만드는 서비스는 next.js를 가지고 동작하죠.
이걸 서버에서 node.js를 가지고 실행을 한 뒤 브라우저로 해당 서버에 요청을 보내면 next.js에서 html, js, css 등을 전달하여 브라우저를 통해서 최종 렌더링 되는거에요.
그럼 node.js를 동작시키는 서버 내 환경에 여러가지 변수가 지정되어있을 수 있습니다. .env는 이 서버에서 사요하는 환경 변수를 별도의 동작없이 로컬환경에서 쓰기 위해서 사용하는 파일입니다.
다시 말해 .env는 순수하게 서버에서만 확인할 수 있는 환경변수이고, 사용자가 화면을 만나는 브라우저 단에는 아무런 변수가 존재하지 않겠죠.
그렇지만 브라우저에서도 우리가 어떤 동작을 할 때 환경변수 등을 써야할 일이 있으니까 외부(클라이언트)에 노출되어도 문제 없는 변수를 next_public을 통해서 제공할 수 있도록 next.js가 기능을 제공합니다.
다시 요약하면 next_public은 next.js가 브라우저나 node.js 환경 모두에서 쓸 수 있도록 변수를 전달해주는거구요. .env는 순수하게 서버사이드에서만 사용가능한 정보가 포함되어있는겁니다.
(말이 어렵네요. 요고 관련해서는 영상 한번 찍어볼께요)
강의 소제목
0
475
1
배포 관련 질문
0
654
1
Error: Illegal url for new iframe
0
769
1
빌드 오류(babel-eslint -> @babel/eslint-parser)
0
1197
2
강의 관련 질문입니다!
0
389
1
useState의 set 함수에 대해서 질문이 있습니다.
0
489
1
아직 못 들었는데 듣기 시작한 날부터 수강기한 시작할 수 없을까요?
0
350
1
사용하시는 zsh 테마가 뭐예요?
0
477
2
1월 21일까지 수강기간인데
0
375
1
Module not found: Can't resolve 'fs' 오류
0
2151
1
publicRunTimeConfig error
0
344
1
강의 수강일 문의 드립니다.
0
315
2
https://bit.ly/broken-link 관련 CORS 오류해결
0
312
1
useToast 에러
0
601
1
문의 드립니다😭
0
238
1
빌드시 오류
0
312
1
vercel 배포 후 list의 uid가 넘어가지 않아 문의 드립니다!
1
547
1
CORS 오류로 인한 문의 드립니다
0
325
1
LOCAL_CHROME_PATH 경로에 파일이 없어요!
0
361
1
렌더마다 변경되는 값이라서 context Provider에 못 넣는 에러
0
243
1
public runtime config 에러 공유
0
354
1
컴포넌트 파일명에 underscore
0
318
1
firebase admin 코드 추가 강의 부분
7
457
2
구글 로그인 apikey error
0
383
3





