강의

멘토링

커뮤니티

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

aloha_jh님의 프로필 이미지
aloha_jh

작성한 질문수

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

자주 사용하는 플러그인

DefinePlugin

해결된 질문

작성

·

287

2

DefinePlugin의 경우
환경 의존적인 정보를 (ex-환경에따라 API주소가 다르다거나) 소스가 아닌곳에서 관리하기 위함이라고 하셨는데,

new webpack.DefinePlugin({
  VERSION: JSON.stringify("v.1.2.3"),
  PRODUCTION: JSON.stringify(false),
  MAX_COUNT: JSON.stringify(999),
  "api.domain": JSON.stringify("http://dev.api.domain.com"), //
})

그렇다면 api.domain : JSON.stringify("http://dev.api.domain.com"),

이부분을

api.domain :   process.env.NODE_ENV == 'production' ?

JSON.stringify("http://pro.api.domain.com")

: JSON.stringify("http://dev.api.domain.com") 

이런식으로 사용가능해야 배포할때마다 코드수정 줄일수 있지않나요?

(어떤식으로 효율이 날수있게 사용하는지 잘모르겠달까요..)

그리고 webpack config 같은경우는 git에 올라가서 공개될지 모르는데 .env로 관리하는게 보안적으로 더 안전하지 않나요?

답변 1

3

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

네 그렇습니다. 환경에 따라 다른 값을 넣어주어야 합니다. 저는 아예 환경별로 웹팩 설정 파일을 만들어서 사용하고 있어요.

  • webpack --config webpack.config.prod.js
  • webpack --config webpack.config.beta.js

.env를 사용하는 방법도 좋습니다.

aloha_jh님의 프로필 이미지
aloha_jh

작성한 질문수

질문하기