Я столкнулся с тем же вопросом, пытаясь исключить часть кода из исходной карты. Поскольку я не мог получить ответы на свои вопросы в Интернете, я посмотрел исходные коды Webpack и обнаружил следующий код, используемый Webpack
https://github.com/webpack/webpack/blob/master/lib/WebpackOptionsApply.js
if (
options.devtool &&
(options.devtool.includes("sourcemap") ||
options.devtool.includes("source-map"))
) {
const hidden = options.devtool.includes("hidden");
const inline = options.devtool.includes("inline");
const evalWrapped = options.devtool.includes("eval");
const cheap = options.devtool.includes("cheap");
const moduleMaps = options.devtool.includes("module");
noSources = options.devtool.includes("nosources");
legacy = options.devtool.includes("@");
modern = options.devtool.includes("#");
comment =
legacy && modern
? "\n/*\n//@ source" +
"MappingURL=[url]\n//# source" +
"MappingURL=[url]\n*/"
: legacy
? "\n/*\n//@ source" + "MappingURL=[url]\n*/"
: modern
? "\n//# source" + "MappingURL=[url]"
: null;
const Plugin = evalWrapped
? EvalSourceMapDevToolPlugin
: SourceMapDevToolPlugin;
new Plugin({
filename: inline ? null : options.output.sourceMapFilename,
moduleFilenameTemplate: options.output.devtoolModuleFilenameTemplate,
fallbackModuleFilenameTemplate:
options.output.devtoolFallbackModuleFilenameTemplate,
append: hidden ? false : comment,
module: moduleMaps ? true : cheap ? false : true,
columns: cheap ? false : true,
lineToLine: options.output.devtoolLineToLine,
noSources: noSources,
namespace: options.output.devtoolNamespace
}).apply(compiler);
}
Итак, вы можете видеть, что параметры для SourceMapDevToolPlugin могут зависеть от некоторых ваших конфигураций выходного веб-пакета (sourceMapFilename, devtoolModuleFilenameTemplate, devtoolFallbackModuleFilenameTemplate, devtoolLineToLine, devtoolNamespace - см. https://webpack.js.org/configuration/output).
Для моей конфигурации веб-пакета последние параметры, которые входили в SourceMapDevToolPlugin, когда я использовал devtool: 'source-map', были следующими:
{
"filename": "[file].map[query]",
"append": null,
"module": true,
"columns": true,
"lineToLine": false,
"noSources": false,
"namespace": ""
}
Если вы не используете ни одну из упомянутых опций вывода, то вышеприведенное должно подойти вам. В противном случае вам нужно будет принять их во внимание. Вы можете изменить node_modules / webpack / lib / WebpackOptionsApply.js, добавив console.log с JSON.stringify (), чтобы увидеть, какие именно параметры были использованы для вашей конфигурации Webpack.
Надеюсь, это поможет.