
webpack.config.js 👇
module.exports = {
  mode: "development",
}
console.log(process.env.NODE_ENV);
<title>검색<%= env %></title> => Title(개발용)webpack.config.js 👇
const HtmlWebpackPlugin = require("html-webpack-plugin");
plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html', // 템플릿 경로를 지정
      templateParameters: { // 템플릿에 주입할 파라미터 변수 지정
        env: process.env.NODE_ENV === 'development' ? '(개발용)' : ''
      },
      minify: process.env.NODE_ENV === 'production' ? {
        collapseWhitespace: true, // 빈칸 제거
        removeComments: true // 주석 제거
      } : false
    })
  ]
webpack.config.js 👇
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
new CleanWebpackPlugin ()
webpack.config.js 👇
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          process.env.NODE_ENV === 'production'
          ? MiniCssExtractPlugin.loader // 프로덕션 환경
          : "style-loader", // 개발 환경
            "css-loader"
        ]
      }
   ]
}
...(process.env.NODE_ENV === 'production' // 프로덕션 환경일 경우만 이 플러그인을 추가
      ? [new MiniCssExtractPlugin({filename: '[name].css'})]
      : []
   )
** MiniCssExtractPlugin.loader : 개발 환경에서는 css-loader에의해 자바스크립트 모듈로 변경된 스타일시트를 적용하기위해 style-loader를 사용. 프로덕션 환경에서는 별도의 CSS 파일으로 추출하는 플러그인을 적용했으므로 다른 로더가 필요