File 로더
File Loader 구성
file-loader 패키지를 프로젝트에 설치한 후, Webpack 구성 파일의 모듈 규칙 안에 로더를 설정합니다.
이미지 모듈 작성
섬 근처 수역에 서있는 사람 이미지 파일을 다운로드 받은 후, 에셋 디렉토리(src/assets
) 안으로 이동시킵니다. 그런 다음 예제 디렉토리(src/example
) 안에 imageIsland.js
파일을 생성한 후 DOM.createElement 모듈을 사용해 이미지를 동적으로 생성하는 코드를 작성합니다.
그리고 엔트리 파일(src/index.js
)에 이미지 파일 모듈을 불러와 DOM.render 모듈을 사용해 UI에 렌더링 합니다.
모듈 번들링
bundle
NPM 명령을 사용해 모듈을 번들링 하면 JS 파일 뿐만 아니라, 이미지 파일까지 모두 번들링 됩니다.
번들링 된 결과물은 배포 디렉토리(dist
) 안에 생성됩니다.
이미지 파일 "이름", "해시", "확장자" 값을 출력하려면 use 옵션을 다음과 같이 변경합니다.
Public 경로 설정
번들링 된 결과로 처리된 앱을 웹 브라우저에서 확인하면 동적으로 생성된 이미지 모듈 코드가 다음과 같습니다. <img/> 요소의 src
속성을 보면 웹 주소(URI)를 확인할 수 있습니다. 전체 도메인 경로가 사용되었네요.
Webpack 구성 파일에 publicPath
설정을 추가해 공용 디렉토리(모든 에셋의 기본 위치)를 설정해봅니다.
설정 후 다시 모듈 번들링 하면, 이미지 경로가 공용 디렉토리에 상대적인 위치로 설정된 것을 확인할 수 있습니다.
공용 디렉토리 위치를 호스팅 URL로 입력할 수도 있습니다.
참고
Last updated