You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: src/content/configuration/output.md
+9-1
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ contributors:
9
9
- irth
10
10
- fvgs
11
11
- dhurlburtusa
12
+
- MagicDuck
12
13
---
13
14
14
15
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
128
129
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:
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
142
143
|[loaders]| Explicit loaders and params up to the name of the first loader |
143
144
|[resource]| The path used to resolve the file and any query params used on the first loader |
144
145
|[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 |
145
147
146
148
When using a function, the same options are available camel-cased via the `info` parameter:
147
149
@@ -153,6 +155,12 @@ devtoolModuleFilenameTemplate: info => {
153
155
154
156
If multiple modules would result in the same name, [`output.devtoolFallbackModuleFilenameTemplate`](#output-devtoolfallbackmodulefilenametemplate) is used instead for these modules.
155
157
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`.
0 commit comments