import
키워드를 통해 자바스크립트 코드 안으로 가져올 수 있게 해준다// my-webpack-loader.js
// loader는 함수 형태로 작성
module.exports = function MyWebpackLoader (content) {
console.log('test');
}
javascript 모듈로 변환된 css 파일을 html에 넣어주는 로더 (브라우저에 적용시켜줌)
npm install style-loader css-loader
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: ["style-loader", "css-loader"], // 배열 역순으로 실행된다
},
],
},
}
module.exports = {
module: {
rules: [
{
test: /\.png$/, // .png 확장자로 마치는 모든 파일
loader: "file-loader",
options: {
publicPath: "./dist/", // prefix를 아웃풋 경로로 지정
name: "[name].[ext]?[hash]", // 파일명 형식
},
},
],
},
}
{
test: /\.png$/,
use: {
loader: 'url-loader', // url 로더를 설정한다
options: {
publicPath: './dist/', // file-loader와 동일
name: '[name].[ext]?[hash]', // file-loader와 동일
limit: 5000 // 5kb 미만 파일만 data url로 처리
}
}
}
아이콘 처럼 용량이 작거나, 사용 빈도가 높은 이미지는 파일 그대로 사용하기보다는 data uri scheme을 적용하는 것이 좋다.