ProgressPlugin
은 컴파일 도중에 진행 상황을 보고받을 방법을 자신이 원하는대로 정하는 방법을 제공합니다.
ProgressPlugin
의 인스턴스를 만들고, 허용되는 여러 매개변수 중 하나를 제공하며, 기본 핸들러를 사용자 지정하는 데 사용할 수 있는 정적 메서드 createDefaultHandler
도 있습니다.
function
훅이 진행 상황을 보고할 때 호출될 handler 함수를 제공합니다. 함수 handler
의 실행 인자:
percentage
: 컴파일의 성공 확률을 나타내는 0과 1 사이의 숫자message
: 현재 실행중인 훅에 대한 짧은 설명...args
: 현재 실행 상황을 묘사하는 0개 이상의 추가적인 문자열const handler = (percentage, message, ...args) => {
// 예를 들어, 각 진행 메세지를 콘솔에 직접 출력
console.info(percentage, message, ...args);
};
new webpack.ProgressPlugin(handler);
object
ProgressPlugin
에 object
를 제공할 때, 다음의 속성이 지원됩니다
activeModules
(boolean = false
): 활성화된 모듈의 수와 활성화된 모듈 하나를 진행 메세지로 보여줍니다.entries
(boolean = true
): 엔트리 수를 진행 메세지로 보여줍니다.handler
(Providing function을 보세요)modules
(boolean = true
): 모듈 수를 진행 메세지로 보여줍니다.modulesCount
(number = 5000
): 시작할 모듈 수의 최솟값이며 modules
속성이 활성화되면 적용됩니다.profile
(boolean = false
): 진행 단계의 프로필 정보를 수집하도록 ProgressPlugin
에게 알려줍니다.dependencies
(boolean = true
): 종속성 수를 진행 메세지로 보여줍니다.dependenciesCount
(number = 10000
): 시작할 종속성 수의 최솟값이며 dependencies
속성이 활성화되면 적용됩니다.percentBy
(string = null: 'entries' | 'dependencies' | 'modules' | null
): 진행률을 계산할 방법을 ProgressPlugin
에게 알려줍니다.new webpack.ProgressPlugin({
activeModules: false,
entries: true,
handler(percentage, message, ...args) {
// 사용자 지정 로직
},
modules: true,
modulesCount: 5000,
profile: false,
dependencies: true,
dependenciesCount: 10000,
percentBy: null,
});
ProgressPlugin
의 기본 핸들러가 요구 사항을 충족하지 않는 경우 정적 ProgressPlugin.createDefaultHandler
메서드를 사용하여 사용자 지정할 수 있습니다.
static createDefaultHandler: (
profile: undefined | null | boolean,
logger: WebpackLogger
) => (percentage: number, msg: string, ...args: string[]) => void;
기본적으로 진행률은 빌드된 모듈 수와 총 모듈 수를 기반으로 계산됩니다: built / total
총 모듈 수는 사전에는 알 수 없고 빌드를 거치면서 변합니다. 이는 부정확한 진행률을 야기할 수 있습니다.
이러한 문제를 해결하기 위해 ProgressPlugin
은 마지막으로 알려진 총 모듈 수를 캐시하여 이 값을 다음 빌드 때 재사용합니다. 첫 번째 빌드는 데이터 값을 메모리에 캐시하지만 그 다음 빌드들은 이 값을 사용하고 업데이트합니다.
다중 구성된 엔트리 포인트가 있는 프로젝트들을 위한 설정에는
percentBy: 'entries'
를 사용할 것을 추천합니다. 엔트리 포인트의 개수를 미리 알 수 있기 때문에 확률 계산은 더욱 정확해질 것입니다.
다음 훅은 ProgressPlugin
에 진행 정보를 보고합니다.
Compiler
Compilation