• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

env 관한 질문입니다.

20.08.03 00:00 작성 조회수 152

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은 기본으로 이값을 넣어주기 때문에 굳이 저렇게 옵션으로 추가하지 않아도 됩니다.