inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tìm hiểu và thực hành về môi trường phát triển frontend (webpack, babel, eslint..)

webpack-dev-server 사용시 image 로드 실패

1293

KE

2 câu hỏi đã được viết

0

webpack-dev-server를 사용시 image 파일을 수업영상에서는 문제가 없는데

제가 따라하고 있는 연습 프로젝트에서는 제대로 로드하지 못하고 있습니다ㅜㅜ

src/index.scss

body {
  background-image: url('./img/lolche.png');
  background-size: cover;
}

src/app.js

import './index.scss'

webpack.config.js

module.exports = {
  mode: 'development',
  entry: {
    main: './src/app.js'
  },
  output: {
    filename: '[name].js',
    path: path.resolve('./dist')
  },
  module: {
    rules: [
      {
        test: /\.(css|scss)$/,
        use: [
          process.env.NODE_ENV === 'production'
          ? MiniCssExtractPlugin.loader
          : 'style-loader',
          'css-loader',
          'sass-loader'
        ]
      },
      {
        test: /\.png$/,
        loader: 'url-loader'
        options: {
          publicPath: './dist/',
          name: '[name].[ext]',
          limit: 10000
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      }
    ]
  },
  plugins: [
    new webpack.BannerPlugin({
      banner: () => `빌드 날짜: ${new Date().toLocaleString()}`
    }),
    new HtmlWebpackPlugin({
      template: './src/index.html',
      templateParameters: {
        env: process.env.NODE_ENV === 'development' ? 'development' : 'production'
      },
      minify: process.env.NODE_ENV === 'production' ? {
        removeComments: true
      } : false
    }),
    // new CleanWebpackPlugin(),
    ...(
      process.env.NODE_ENV === 'production'
      ? [new MiniCssExtractPlugin({filename: `[name].css`})]
      : []
    )
  ],
  devServer: {
    contentBase: path.join(__dirname"dist"),
    publicPath: "/"
  }
}

npm rub build시 문제없이 html, css, js, png 파일이 /dist 폴더 내에 생성되는데

npm start로 실행시 다른 건 다 문제가 없는데 image 파일을 제대로 불러오지 못합니다

GET http://localhost:8080/dist/lolche.png 404 (Not Found)

콘솔창에 위와 같은 에러를 뿜는데

제가 뭐를 잘못했을까요?

nodejs eslint babel 웹팩

Câu trả lời 3

1

jeonghwan

웹팩 개발 서버를 사용하게되면 contentBase라는 옵션을 사용할수 있는데요 지정한 값에 따라서 서버가 제공할 정적파일 경로를 설정할 수 있습니다. 

작성하신 코드를 보면 웹팩 빌드 결과인 dist 폴더를 기준으로 서버가 실행될 겁니다.

devServer: {
    contentBase: path.join(__dirname, "dist"),
    publicPath: "/"
}

그렇기 때문에 파일 로더에 설정한 publicPath의 '/dist ' 값을 제거해 주어야 되요.  개발서버는 dist 폴더를 기준으로 파일을 찾기 때문에 dist 값을 불필요한거죠. 

options: {
  // publicPath: './dist',
  name: '[name].[ext]',
  limit: 10000
}

수정한 커밋 깃헙에 올려드릴라고 했는데 권한이 없어서 못 올려드렷어요 

0

KE

.

0

jeonghwan

webpack-dev-server를 구동하면고 loche.png 파일을 요청하면 그렇다는 거죠? 코드에 이상한건 없는것 같은데. 작업하신 파일 전체를 공유해주실수 있어요? 깃헙 링크를 주시면 더 좋고요.

지금 시점에서 해당 강의를 듣는 것에 대하여

1

110

3

2025년 기준 번들러 트렌드와 선택 기준이 궁금합니다 (Webpack, Vite, tsup 등)

1

221

1

에러 해결 공유드립니다

1

224

2

webpack 4 버전과 호환되는 플러그인 버전 공유드립니다

1

233

2

eslint

0

380

3

도와주세요!

0

167

2

[수강 중 트러블슈팅 공유] webpack, webpack-cli 버전

1

145

1

질문 an error occurred while loading the image

1

468

1

webpack에서 babel-loader 사용할때 질문

1

150

1

자주 사용하는 플러그인 에서 질문이 있습니다.

1

168

1

eslint no-extra-semi 관련 질문

1

143

1

webpack5 에서 open index.html하는법 + 질문

1

167

1

TypeError: ((process.env.NODE_ENV === "production") && [MiniCssExtractPlugin]) is not iterable

2

301

1

혹시 웹팩 5 내용으로 강의 업데이트는 안되는건가요?

1

370

1

에러없이 png안뜨시는 분들

1

274

1

Error: Cannot find module 'node:crypto'

1

464

1

DefinePlugin 관련; env와 관련하여, (21.06.22 16:15, aloha_jh) 답변포함

1

406

1

깃허브 확인 문의

0

575

1

폴더를 prettier로 돌렸을 때 나오는 에러 구문에 대한 질문

0

405

1

해쉬값과 캐쉬 갱신

1

460

1

Hash 에러 발생

1

2667

2

webpack.config.js에서의 CommonJS방식에 대한 질문

0

829

3

웹팩 버전

0

522

1

웹팩-cli 버전을 명시하지 않으면 왜 에러가 날까요?

0

484

1