既存のソースファイルから(その sourceMappingURL
から)ソースマップを抽出します。
まず、source-map-loader
をインストールする必要があります
npm i -D source-map-loader
または
yarn add -D source-map-loader
または
pnpm add -D source-map-loader
次に、プラグインを webpack
設定に追加します。例えば
file.js
import css from "file.css";
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
enforce: "pre",
use: ["source-map-loader"],
},
],
},
};
source-map-loader
は、すべての JavaScript エントリから既存のソースマップを抽出します。これには、インラインソースマップと URL 経由でリンクされたソースマップの両方が含まれます。webpack.config.js の devtool
オプションで指定された、選択したソースマップスタイルに従って、すべてのソースマップデータが webpack に渡されて処理されます。このローダーは、独自のソースマップを持つサードパーティライブラリを使用する場合に特に役立ちます。webpack バンドルのソースマップに抽出および処理されない場合、ブラウザはソースマップデータを誤って解釈する可能性があります。source-map-loader
を使用すると、webpack はライブラリ全体でソースマップデータの連続性を維持できるため、デバッグの容易さが維持されます。source-map-loader
は、node_modules
ディレクトリにあるファイルを含む、あらゆる JavaScript ファイルから抽出します。バンドルのパフォーマンスを最大限に高めるために、include および exclude ルール条件の設定に注意してください。
そして、お好みの方法で webpack
を実行します。
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
filterSourceMappingUrl | {関数} | 未定義 | SourceMappingURL の動作を制御できます |
タイプ:関数
デフォルト:未定義
SourceMappingURL
コメントに対するローダーの動作を指定できます。
関数は、次のいずれかの値を返す必要があります
true
または 'consume'
- ソースマップを消費し、SourceMappingURL
コメントを削除します(デフォルトの動作)false
または 'remove'
- ソースマップを消費せず、SourceMappingURL
コメントを削除しますskip
- ソースマップを消費せず、SourceMappingURL
コメントを削除しません設定例
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
enforce: "pre",
use: [
{
loader: "source-map-loader",
options: {
filterSourceMappingUrl: (url, resourcePath) => {
if (/broker-source-map-url\.js$/i.test(url)) {
return false;
}
if (/keep-source-mapping-url\.js$/i.test(resourcePath)) {
return "skip";
}
return true;
},
},
},
],
},
],
},
};
警告を無視するには、次の設定を使用できます
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
enforce: "pre",
use: ["source-map-loader"],
},
],
},
ignoreWarnings: [/Failed to parse source map/],
};
ignoreWarnings
オプションの詳細については、こちらをご覧ください
まだ貢献ガイドラインを読んでいない場合は、読んでください。