The content of this section is derived from the content of the following links and is subject to the CC BY 4.0 license.
The following contents can be assumed to be the result of modifications and deletions based on the original contents if not specifically stated.
The NormalModuleReplacementPlugin
allows you to replace resources that match resourceRegExp
with newResource
.
If newResource
is relative, it is resolved relative to the previous resource.
If newResource
is a function, it is expected to overwrite the request attribute of the supplied resource.
This can be useful for allowing different behaviour between builds.
Note that the resourceRegExp
is tested against the "request" on beforeResolve
phase and the "resource" on afterResolve
phase.
Also, please note that when using Windows, you have to accommodate for the different folder separator symbol. E.g. /src\/environments\/environment\.ts/
won't work on Windows, you have to use /src[\\/]environments[\\/]environment\.ts/
instead.
Replace a specific module when building for a production environment.
Say you have a configuration file some/path/config.development.js
and a special version for production in some/path/config.production.js
Add the following plugin when building for production:
Conditional build depending on a specified environment.
Say you want a configuration with specific values for different build targets.
Create the two configuration files:
Then import that configuration using the keyword you're looking for in the regexp:
And now you get the right configuration imported depending on which target you're building for: