웹팩의 4가지 핵심 개념
webpack
는 유명한 정적 모듈 번들러입니다. 모듈 번들러는 Javascript 모듈을 브라우저에서 실행할 수 있는 단일 파일로 묶는 데 사용됩니다. 코드의 종속성을 관리하고 종속성 순서에 따라 자산을 로드하는 데 도움이 됩니다.웹팩에는 네 가지 기본 개념이 있습니다: entry , output , 모듈 및 플러그인 .
이러한 구성은 프로젝트의
webpack.config.js
에 추가됩니다.1. 입장
entry
및 output
는 서로 관련되어 있습니다.웹팩.config.js
module.exports = {
entry: './path/to/my/entry/file.js',
};
위의 스니펫은
entry
구성의 예입니다. 당신은 기본적으로 webpack이 의존성 그래프를 생성하기 시작할 때 살펴보아야 할 가장 첫 번째 파일을 말하고 있습니다. 종속성 그래프는 이 항목 파일에서 시작한 다음 종속성 및 종속성 등의 종속성을 빌드합니다. webpack
는 이러한 모든 종속성을 거쳐 모듈을 생성한 다음 전체 애플리케이션에서 이 전체 프로세스를 반복합니다.2. 출력
output
구성은 webpack에 번들과 해당 형식을 배치하는 방법과 위치를 알려줍니다. 예를 들어 아래의 output
값을 사용하면 my-first-webpack.bundle.js
가 있는 동일한 디렉토리 아래의 dist
폴더에 있는 webpack.config.js
라는 자바스크립트 파일에 번들을 넣도록 webpack에 지시합니다.웹팩.config.js
const path = require('path');
module.exports = {
entry: './path/to/my/entry/file.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-first-webpack.bundle.js',
},
};
3. 규칙 및 로더
rules
및 loaders
구성은 종속성 그래프에 추가되기 전에 다른 파일 유형을 처리하고 유효한 모듈로 변환하는 방법을 지시합니다webpack
.loaders
에는 일반적으로 다음과 같은 두 가지 속성이 있습니다.test
. test 속성은 처리될 파일의 유형을 알려줍니다. use
. use 속성은 웹팩에 파일 처리에 사용할 로더를 알려줍니다. 예를 들어, 이전에 작성된 구성에서 빌드하면 아래의
modules
속성이 webpack에 다음과 같이 알려줍니다."Hey webpack compiler, when you come across a path that resolves to a
.css
file inside of a require()/import statement, use the css-loader to transform it before you add it to the bundle."
웹팩.config.js
const path = require('path');
const ExamplePlugin = require('ExamplePlugin.js')
module.exports = {
entry: './path/to/my/entry/file.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-first-webpack.bundle.js',
},
module: {
rules: [
{
test: /\.css$/,
use: 'css-loader'
}
],
},
plugins: [
new ExamplePlugin()
]
};
4. 플러그인
플러그인을 사용하면 모든 종류의 기능을 수행할 수 있습니다. 로더는 특정 유형의 모듈을 변환하는 데 사용되지만 플러그인은 번들 최적화, 자산 관리, 환경 변수 삽입, 파일 축소 등과 같은 더 넓은 범위의 작업을 수행하는 데 활용될 수 있습니다. 예를 들어 아래의 예제 플러그인은 메시지를 인쇄합니다.
"Hello I am learning"
webpack을 실행할 때마다. Webpack에는 이미 풍부한 플러그인 컬렉션이 있으므로 개발자는 휠을 재발명하기 전에 플러그인을 확인할 수도 있습니다.class ExamplePlugin {
apply(compiler) {
compiler.plugin("run", (compiler, callback) {
console.log("Hello I am learning");
callback();
});
}
}
저는 여전히 웹팩을 배우는 과정에 있지만 이러한 개념을 이해하는 것만으로도 개발자의 요구에 맞는 웹팩 구성을 자신 있게 생성하는 데 도움이 될 것이라고 믿습니다.
참조
[1] Webpack Official Documentation
[2] Webpack Academy
Reference
이 문제에 관하여(웹팩의 4가지 핵심 개념), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pat_the99/the-four-core-concepts-of-webpack-49c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)