EvalSourceMapDevToolPlugin을 사용하면 소스맵 생성을 보다 세밀하게 제어할 수 있습니다. 또한 devtool
설정 옵션의 특정한 세팅에 의해 자동으로 활성화됩니다.
new webpack.EvalSourceMapDevToolPlugin(options);
다음과 같은 옵션이 지원됩니다.
test
(string|RegExp|array
): 모듈의 확장자를 기반으로 하는 소스맵을 포함합니다(기본값은 .js
및 .css
).
include
(string|RegExp|array
): 주어진 값과 일치하는 모듈 경로에 대한 소스맵을 포함합니다.
exclude
(string|RegExp|array
): 소스맵 생성에서 주어진 값과 일치하는 모듈을 제외합니다.
append
(string|function
): 원래 애셋에 주어진 값을 추가합니다. 보통 #sourceMappingURL
을 주석으로 합니다. [url]
은 소스맵 파일의 URL로 대체됩니다.
버전 5.84.0부터 webpack은 경로와 애셋 정보 객체를 인수로 받아들이고 문자열을 반환하는 'append' 옵션을 허용합니다.
(pathData: PathData, assetInfo?: AssetInfo) => string;
moduleFilenameTemplate
(string
): output.devtoolModuleFilenameTemplate
을 참조하세요.
module
(boolean
): 로더가 소스맵을 생성해야 하는지 여부를 나타냅니다(기본값은 true
).
columns
(boolean
): 열 매핑을 사용해야 하는지 여부를 나타냅니다(기본값은 true
).
protocol
(string
): 사용자가 기본 프로토콜(webpack-internal://
)을 오버라이드 할 수 있습니다.
다음 예시는 EvalSourceMapDevToolPlugin이 흔히 사용되는 사례를 보여줍니다.
다음 코드를 사용하여 설정 옵션 devtool: eval-source-map
을 동등한 커스텀 플러그인 설정으로 바꿀 수 있습니다.
module.exports = {
// ...
devtool: false,
plugins: [new webpack.EvalSourceMapDevToolPlugin({})],
};
다음 코드는 vendor.js
번들에 있는 모든 모듈에 대한 소스맵을 제외합니다.
new webpack.EvalSourceMapDevToolPlugin({
exclude: ['vendor.js'],
});