entry
(상세내용)module.exports = {
// ...
entry: "./src/index.js",
};
output
(상세내용)module.exports = {
// ...
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "./dist"),
},
};
loader
(상세내용)module.exports = {
// ...
module: {
rules: [],
},
};
plugin
(상세내용)module.exports = {
// ...
plugins: [],
};
특정 파일에 대해 여러 개의 로더를 사용하는 경우 로더가 적용되는 순서에 주의해야 합니다. 로더는 기본적으로 오른쪽에서 왼쪽 순으로 적용됩니다.
module.exports = {
// ...
module: {
rules: [
{
test: /\.scss$/,
use: ["style-loader", "css-loader", "sass-loader"],
},
]
}
}
위 로더 속성 기준으로 sass-loader
→ css-loader
→ style-loader
순서로 실행이 된다.
sass-loader
: SCSS 파일을 CSS 파일로 변환css-loader
: 웹팩에서 CSS 파일을 인식(import
처리)style-loader
: <head>
안에 CSS 파일 내용을 인라인 스타일 태그 추가만약, 1번, 2번 순서가 바뀐다면 SCSS 파일을 CSS 변환하지 못하여 빌드 단계에서 오류가 발생된다. 이러므로 로더 추가시 기능을 이해하고 적용 순서 고려해야 될 것 이다.