Movatterモバイル変換


[0]ホーム

URL:


webpack logo
ag grid
ag charts

SourceMapDevToolPlugin

This plugin enables more fine grained control of source map generation. It is also enabled automatically by certain settings of thedevtool configuration option.

newwebpack.SourceMapDevToolPlugin(options);

Options

The following options are supported:

  • test (stringRegExp[string, RegExp]): Include source maps for modules based on their extension (defaults to.js,.mjs, and.css).

  • include (stringRegExp[string, RegExp]): Include source maps for module paths that match the given value.

  • exclude (stringRegExp[string, RegExp]): Exclude modules that match the given value from source map generation.

  • filename (string): Defines the output filename of the SourceMap (will be inlined if no value is provided).

  • append (stringfunctionfalse): Appends the given value to the original asset. Usually the#sourceMappingURL comment.[url] is replaced with a URL to the source map file. Since webpack v4.36.0, path parameters are supported:[chunk],[filename] and[contenthash]. Settingappend tofalse disables the appending.

    Starting from version 5.84.0, webpack allows theappend option to be a function that accepts path data and an asset info object as arguments, and returns a string.

    (pathData: PathData, assetInfo?: AssetInfo)=>string;
  • moduleFilenameTemplate (string): Seeoutput.devtoolModuleFilenameTemplate.

  • fallbackModuleFilenameTemplate (string): See link above.

  • namespace (string): Seeoutput.devtoolNamespace.

  • module = true (boolean): Indicates whether loaders should generate source maps.

  • columns = true (boolean): Indicates whether column mappings should be used.

  • noSources = false (boolean): Prevents the source file content from being included in the source map.

  • publicPath (string): Emits absolute URLs with public path prefix, e.g.https://example.com/project/.

  • fileContext (string): Makes the[file] argument relative to this directory.

  • sourceRoot (string): Provide a custom value for thesourceRoot property in the SourceMap.

  • debugIds (boolean): Iftrue, unique ids will be emitted in source and sourcemaps which streamlines identifying sourcemaps across different builds. See theTC39 sourcemap debug ID proposal for more details.

ThefileContext option is useful when you want to store source maps in an upper level directory to avoid../../ appearing in the absolute[url].

tip

Settingmodule and/orcolumns tofalse will yield less accurate source maps but will also improve compilation performance significantly.

tip

If you want to use a custom configuration for this plugin indevelopment mode, make sure to disable the default one. I.e. setdevtool: false.

warning

If the default webpackminimizer has been overridden (such as to customise theTerserPlugin options), make sure to configure its replacement withsourceMap: true to enable SourceMap support.

Examples

The following examples demonstrate some common use cases for this plugin.

Basic Use Case

You can use the following code to replace the configuration optiondevtool: inline-source-map with an equivalent custom plugin configuration:

module.exports={// ...  devtool:false,  plugins:[newwebpack.SourceMapDevToolPlugin({})],};

Exclude Vendor Maps

The following code would exclude source maps for any modules in thevendor.js bundle:

newwebpack.SourceMapDevToolPlugin({  filename:'[file].map[query]',  exclude:['vendor.js'],});

Host Source Maps Externally

Set a URL for source maps. Useful for hosting them on a host that requires authorization.

newwebpack.SourceMapDevToolPlugin({  append:'\n//# sourceMappingURL=https://example.com/sourcemap/[url]',  filename:'[file].map[query]',});

And for cases when source maps are stored in the upper level directory:

project|- dist  |- public    |- bundle-[hash].js  |- sourcemaps    |- bundle-[hash].js.map

With the following config:

newwebpack.SourceMapDevToolPlugin({  filename:'sourcemaps/[file].map',  publicPath:'https://example.com/project/',  fileContext:'public',});

Will produce the following URL:

https://example.com/project/sourcemaps/bundle-[hash].js.map

Further Reading

7 Contributors

johnnyreillysimon04neilkennedybyzykEugeneHlushkochenxsansnitin315

[8]ページ先頭

©2009-2025 Movatter.jp