Skip to content

Commit de01c21

Browse files
committed
adding docs for new output.devtoolNamespace option and [namespace] placeholder
1 parent ba0c4c4 commit de01c21

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/content/configuration/output.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ contributors:
99
- irth
1010
- fvgs
1111
- dhurlburtusa
12+
- MagicDuck
1213
---
1314

1415
The top-level `output` key contains set of options instructing webpack on how and where it should output your bundles, assets and anything else you bundle or load with webpack.
@@ -128,7 +129,7 @@ This option is only used when [`devtool`](/configuration/devtool) uses an option
128129
Customize the names used in each source map's `sources` array. This can be done by passing a template string or function. For example, when using `devtool: 'eval'`, this is the default:
129130

130131
``` js
131-
devtoolModuleFilenameTemplate: "webpack:///[resource-path]?[loaders]"
132+
devtoolModuleFilenameTemplate: "webpack://[namespace]/[resource-path]?[loaders]"
132133
```
133134

134135
The following substitutions are available in template strings (via webpack's internal [`ModuleFilenameHelpers`](https://github.com/webpack/webpack/blob/master/lib/ModuleFilenameHelpers.js)):
@@ -142,6 +143,7 @@ The following substitutions are available in template strings (via webpack's int
142143
| [loaders] | Explicit loaders and params up to the name of the first loader |
143144
| [resource] | The path used to resolve the file and any query params used on the first loader |
144145
| [resource-path] | The path used to resolve the file without any query params |
146+
| [namespace] | The modules namespace. This is usually the library name when building as a library, empty otherwise |
145147

146148
When using a function, the same options are available camel-cased via the `info` parameter:
147149

@@ -153,6 +155,12 @@ devtoolModuleFilenameTemplate: info => {
153155

154156
If multiple modules would result in the same name, [`output.devtoolFallbackModuleFilenameTemplate`](#output-devtoolfallbackmodulefilenametemplate) is used instead for these modules.
155157

158+
## `output.devtoolNamespace`
159+
160+
`string`
161+
162+
This option determines the modules namespace used with the [`output.devtoolModuleFilenameTemplate`](#output-devtoolmodulefilenametemplate). When not specified, it will default to the value of: [`output.library`](#output-library). It's use is to prevent source file path collisions in sourcemaps when loading multiple libraries built with webpack.
163+
For example, if you have 2 libraries, with namespaces `library1` and `library2`, which both have a file `./src/index.js` (with potentially different contents), they will expose these files as `webpack://library1/./src/index.js` and `webpack://library2/./src/index.js`.
156164

157165
## `output.filename`
158166

0 commit comments

Comments
 (0)