Webpack 러닝 가이드
  • Webpack 모듈 번들러
  • Web Modules
    • Legacy 모듈 관리
    • ES 모듈 관리
  • Babel
    • Babel JavaScript 컴파일러
    • Babel 독립형 빌드
    • Babel 노드 (Node.js) ✘
    • Babel CLI 구성
    • Babel 플러그인
  • webpack
    • Webpack 개발 환경 구성
      • Webpack 설치
      • Webpack 통합
      • Webpack 구성 파일
      • Webpack 워치
      • Webpack 모드
      • Webpack 별칭 등록
      • Webpack 호환성
      • Webpack 개발 서버
      • Webpack 멀티 페이지 설정
    • Webpack 로더
      • File 로더
      • CSS 로더
      • PostCSS 로더
      • Sass 로더
      • Babel 로더
      • TypeScript 로더
    • Webpack 플러그인
      • 환경 변수 등록
      • 빌드 결과 자동 정리
      • 빌드 결과 자동 주입
      • CSS 파일 개별 추출
      • CSS 파일 크기 최적화
      • CSS 미디어쿼리 스플리팅
      • 이미지 파일 크기 최적화
  • React
    • React App 매뉴얼 구성
      • Webpack 초기 구성
      • Babel 컴파일러 구성
      • CSS 스타일 구성
      • 이미지 구성
      • 환경변수 플러그인
      • HTML 플러그인
      • 최적화 구성
      • 코드 스플리팅
      • 개발 서버
      • 이미지, 폰트 에셋 구성
      • 환경 변수 + HTML 구성
      • 빌드 최적화 구성
      • 빌드 자동 정리 구성
      • 개발 서버 구성
      • 폴리필 구성
Powered by GitBook
On this page
  • 환경 변수 플러그인
  • 명령어 설정
  • 번들
  • 워치
  • 빌드
  • 참고

Was this helpful?

  1. webpack
  2. Webpack 플러그인

환경 변수 등록

PreviousWebpack 플러그인Next빌드 결과 자동 정리

Last updated 4 years ago

Was this helpful?

환경 변수 플러그인

EnvironmentPlugin 플러그인은 process.env 객체의 키(key)를 사용자가 등록할 때 사용합니다. 예를 들어 process.env.NODE_ENV 값을 확인하여 "개발" 또는 "배포" 모드 임을 감지하고자 합니다.

const isDevMode = process.env.NODE_ENV.includes('dev')

환경 변수를 등록하지 않을 경우, process.env.NODE_ENV는 "정의 되지 않음"이므로 오류를 발생시킵니다.

Webpack은 기본적으로 process.env.NODE_ENV 값을 제공하지 않기 때문에 사용자가 값을 등록해 사용할 수 있습니다. 등록하는 방법은 다음과 같습니다.

const webpack = require('webpack')

module.exports = {
  // 플러그인 설정
  plugins: [
    // 환경 변수 등록/관리 설정
    new webpack.EnvironmentPlugin({
      NODE_ENV: 'development'
    })
  ]
}

EnvironmentPlugin은 내부적으로 을 사용하기에 위에 작성한 코드는 아래와 동일합니다.

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify('development')
});

명령어 설정

"scripts": {
  "bundle": "NODE_ENV=development webpack",
  "watch": "NODE_ENV=development webpack -w",
  "build": "NODE_ENV=production webpack"
}

번들

개발(development) 모드로 1회 컴파일 및 번들링을 수행합니다.

npm run bundle

워치

개발(development) 모드로 컴파일 및 번들링을 수행하며, 파일이 수정/저장 될 때마다 번들링을 수행합니다.

npm run watch

빌드

배포(production) 모드로 컴파일 및 번들링을 수행하며 최적화가 적용된 결과물이 출력됩니다.

npm run build

참고

환경 변수 등록 후에 프로젝트 패키지 관리 파일인 package.json 파일에 다음과 같이 를 추가하면 손쉽게 명령을 실행해 원하는 모드에 따라 번들링, 워치, 빌드를 수행할 수 있습니다.

DefinePlugin
NPM 스크립트
EnvironmentPlugin | webpackwebpack
Logo