inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)

firebase client 코드 추가

publicRuntimeConfig 질문

396

younhee.song

작성한 질문수 1

0

client 단에서 사용하기 위해 publicRuntimeConfig setting을 한다고 하셨는데,

server 단과 client 단 둘다 동시에 적용하는 방법 중에,
.env 파일 안에, NEXT_PUBLIC_ 을 붙이는 방법도 있는 것으로 알고 있습니다.

2개의 차이점이 있을까요? 

감사합니다. 

Next.js

답변 1

1

totuworld

안녕하세요 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

younhee.song

답변 감사합니다. ^^ 

강의 소제목

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