본문 바로가기

개발정보

Webpack css url 파일 문제

Webpack을 사용할 때 css-loader를 적용해서 css 파일을 처리하는게 일반적이다. 

 

그런데, css의 url 을 사용했을 때 해당 파일이 file-loader를 타는 것이 아닌 css-loader 내에서 처리되는 

문제가 발생했다. 

background-image: url("./assets/images/hero-img.png");

 

이런 경우 당황하지 말고 css-loader의 url 옵션을 false로 변경해주면 된다. 

const path = require("path");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
  mode: process.env.NODE_ENV,
  devtool: "source-map",
  entry: "./src/javascripts/index.js",
  output: {
    filename: "bundle.js",
    path: path.resolve(__dirname, "public"),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        use: "babel-loader",
        exclude: /node_modules/,
      },
      {
        test: /\.css$/i,
        use: [
          "style-loader",
          { loader: "css-loader", options: { url: false } },
        ],
      },
      {
        test: /\.(svg|png|jpg|gif)$/,
        use: {
          loader: "file-loader",
          options: {
            name: "assets/[name].[ext]",
          },
        },
      },
    ],
  },

  plugins: [new MiniCssExtractPlugin()],
};
반응형

'개발정보' 카테고리의 다른 글

CI / CD  (0) 2022.11.20
사파리의 vh  (1) 2022.10.23
Code Splitting  (1) 2022.10.10
OAuth  (1) 2022.10.08
babel-plugin-transform-remove-console 사용기  (1) 2022.10.04