W3cubDocs

/webpack 2

Devtool

This option controls if and how Source Maps are generated.

devtool

string false

Choose a style of source mapping to enhance the debugging process. These values can affect build and rebuild speed dramatically.

devtool
build
rebuild
production
quality
devtool
eval
build
+++
rebuild
+++
production
no
quality
generated code
devtool
cheap-eval-source-map
build
+
rebuild
++
production
no
quality
transformed code (lines only)
devtool
cheap-source-map
build
+
rebuild
o
production
yes
quality
transformed code (lines only)
devtool
cheap-module-eval-source-map
build
o
rebuild
++
production
no
quality
original source (lines only)
devtool
cheap-module-source-map
build
o
rebuild
-
production
yes
quality
original source (lines only)
devtool
eval-source-map
build
--
rebuild
+
production
no
quality
original source
devtool
source-map
build
--
rebuild
--
production
yes
quality
original source
devtool
nosources-source-map
build
--
rebuild
--
production
yes
quality
without source content
+ means faster, - slower and o about the same time

Some of these values are suited for development and some for production. For development you typically want fast Source Maps at the cost of bundle size, but for production you want separate Source Maps that are accurate.

There are some issues with Source Maps in Chrome. We need your help!.

For development

eval - Each module is executed with eval() and //@ sourceURL. This is pretty fast. The main disadvantage is that it doesn't display line numbers correctly since it gets mapped to transpiled code instead of the original code.

inline-source-map - A SourceMap is added as a DataUrl to the bundle.

eval-source-map - Each module is executed with eval() and a SourceMap is added as a DataUrl to the eval(). Initially it is slow, but it provides fast rebuild speed and yields real files. Line numbers are correctly mapped since it gets mapped to the original code.

cheap-module-eval-source-map - Like eval-source-map, each module is executed with eval() and a SourceMap is added as a DataUrl to the eval(). It is "cheap" because it doesn't have column mappings, it only maps line numbers.

For production

source-map - A full SourceMap is emitted as a separate file. It adds a reference comment to the bundle so development tools know where to find it.

hidden-source-map - Same as source-map, but doesn't add a reference comment to the bundle. Useful if you only want SourceMaps to map error stack traces from error reports, but don't want to expose your SourceMap for the browser development tools.

cheap-source-map - A SourceMap without column-mappings ignoring loaded Source Maps.

cheap-module-source-map - A SourceMap without column-mappings that simplifies loaded Source Maps to a single mapping per line.

nosources-source-map - A SourceMap is created without the sourcesContent in it. It can be used to map stack traces on the client without exposing all of the source code.

See output.sourceMapFilename to customize the filenames of generated Source Maps.
This page needs more information to make it easier for users to choose a good option.

References

© 2012–2016 Tobias Koppers
Licensed under the Creative Commons Attribution License 4.0.
https://webpack.js.org/configuration/devtool/