本插件可以为 source map 的生成提供更好更细粒度的控制。devtool
中的某些配置会自动使用它。
new webpack.EvalSourceMapDevToolPlugin(options);
支持以下选项:
test
(string|RegExp|array
): 默认值为 .js
和 .css
,为与给定的模块扩展名相匹配的模块,添加 source map。include
(string|RegExp|array
): 为与给定路径相匹配的模块,添加 source map。exclude
(string|RegExp|array
): 排除一些与给定值相匹配的模块,不会为它们生成映射关系。append
(string
): 将给定的值添加到源代码中,通常是 #sourceMappingURL
注释,[url]
在 source map 文件中将会被替换成 url,值为 false
表示不添加。moduleFilenameTemplate
(string
): 查看 output.devtoolModuleFilenameTemplate
。module
(boolean
): 默认值为 true
,表示是否为 loaders 添加 source map。columns
(boolean
): 默认值为 true
,表示是否使用列映射(column mapping)。protocol
(string
): 默认协议名为 webpack-internal://
,允许用户重新定义协议。以下示例演示了此插件的一些常见用例。
可以使用以下代码替换配置选项 devtool: eval-source-map
,并使用等效的自定义插件配置:
module.exports = {
// ...
devtool: false,
plugins: [new webpack.EvalSourceMapDevToolPlugin({})],
};
下面的代码将排除 vendor.js
包中任何模块 source map 的生成:
new webpack.EvalSourceMapDevToolPlugin({
exclude: ['vendor.js'],
});