강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

열씨미살자!님의 프로필 이미지
열씨미살자!

작성한 질문수

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

자주 사용하는 플러그인

env 관한 질문입니다.

작성

·

233

0

NODE_ENV=production npx webpack 이렇게 사용하게 되면 process.env.NODE_ENV가 production으로 바뀌고 나서 실행되는것은 알겠습니다.

근데 nodejs에서는 운영체제마다 환경변수 바꾸는 명령어가 달라서 dotenv나 cross-env를 활용하여 .env파일을 읽어서 환경변수를 설정해주는것으로 알고있습니다.

여기서 질문은

1. wepback에서 mode 라는것에 development가 있다면 웹팩에서 자동으로 dotenv나 cross-env와 같이 process.env.NODE_ENV 환경변수를 development로 만들어주는 것인가요?

2. DefinePlugin을 통해서 new DefinePlugin({ 'process.env.NODE_ENV' : 'production'})이렇게도 실무에서 사용되는지 궁금합니다.

답변 1

0

김정환님의 프로필 이미지
김정환
지식공유자

1. 웹팩에 mode 옵션은 노드의 환경변수와는 좀 달라요. 웹팩이 실행되는 방식을 정하는 옵션인데 "development", "production" 값이 있고요. dotenv나 cross-env와는 다릅니다.

2. mode 값에 따라 빌드된 어플리케이션에 주입하는 변수가 있는데 그게 process.env.NODE_ENV에요. DefinePlugin은 기본으로 이값을 넣어주기 때문에 굳이 저렇게 옵션으로 추가하지 않아도 됩니다.

열씨미살자!님의 프로필 이미지
열씨미살자!

작성한 질문수

질문하기