The Webpack documentation on module.rules
is quite sparse:
[Rule]
An array of Rules which are matched to requests when modules are created. These rules can modify how the module is created. They can apply loaders to the module, or modify the parser.
In the html-loader
documentation, a number of examples exist with two rules testing for the same regular expression, e.g.:
module.exports = { output: { assetModuleFilename: "[name][ext]", }, module: { rules: [ { test: /\.html$/, type: "asset/resource", generator: { filename: "[name][ext]", }, }, { test: /\.html$/i, use: ["extract-loader", "html-loader"], }, ], }, };
What is the reason/result of two rules handling the same file?
Why isn't a single rule being used?
module.exports = {
output: {
assetModuleFilename: "[name][ext]",
},
module: {
rules: [{
test: /\.html$/,
use: ["extract-loader", "html-loader"],
type: "asset/resource",
generator: {
filename: "[name][ext]",
},
}
],
},
};