-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
해결됨
DefinePlugin
21.06.22 16:15 작성 조회수 228
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로 관리하는게 보안적으로 더 안전하지 않나요?
답변을 작성해보세요.
3
김정환
지식공유자2021.06.24
네 그렇습니다. 환경에 따라 다른 값을 넣어주어야 합니다. 저는 아예 환경별로 웹팩 설정 파일을 만들어서 사용하고 있어요.
- webpack --config webpack.config.prod.js
- webpack --config webpack.config.beta.js
.env를 사용하는 방법도 좋습니다.
답변 1