놀랍게도 웹팩에서 이미지를 사용하려면 이미지 번들러를 따로 추가해줘야 한다..
이를 몰랐기 때문에 이미지를 적용하는데 시행착오가 좀 많았지만 해결했으니 이 과정을 글로 남겨본다.
파일 상단에 사진을 import 해준 뒤 <img> 태그의 src에 "사진 이름.확장자"를 입력해주면 된다.
import "..사진 경로/사진.jpg";
.
.
.
<div>
<img src=사진.jpg>
</div>
하지만 아직 이미지 번들러를 사용하지 않았다면 이미지의 경로를 찾을 수 없다는 에러메시지와 함께 적용이 되지 않을것이다.
이는 우리가 웹팩에서 dist 폴더에 bundle된 파일들을 위치시켜놨었는데 이 폴더에서 이미지를 찾을 수 없기 때문이다.
아래에 어떻게 하면 되는지 방법을 써놓으니 잘 따라와주길 바란다.
먼저 이미지 파일을 따로 빌드할 수 있게 해주는 file-loader를 설치해주자.
npm i file-loader -D
설치가 완료되면 webpack.config.js파일을 세팅하자.
...
module: {
rules: [
{
...
},
{
test: /\.(png|jpe?g|gif|svg|webp)$/i,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]'
}
},
],
},
]
},
...
위의 코드처럼 세팅을 해준 뒤
npm run build
빌드 명령어를 입력하게 되면 dist 파일에 import했던 이미지 파일들이 dist에 생성되는것을 볼 수 있다.
이렇게 되면 이미지 파일을 이용하는데 큰 문제는 없을것이다.
웹팩에서 이미지를 사용하는 방법을 잘 설명해주셔서 이해가 잘 되었습니다. 많은 도움이 되었습니다. 감사합니다!