Entry filter
Option: entryFilter
type AdvancedFilter =
| RegExp
| Array<RegExp>
| { includes?: Array<RegExp>; excludes?: Array<RegExp>; }
| ((file: string) => boolean | void);
Default: Engine-dependent.
Filters template files to be processed.
The option applies only when the entry
is configured as a reference to the templates directory.
Default Behavior
The default includes
property varies based on the configured preprocessor.
Each preprocessor defines its own filter to select relevant template files from the entry path.
Type:
{
includes: [ RegExp ],
excludes: []
}
entryFilter
as RegExp
Matches files using inclusion rules.
Example:
new HtmlBundlerPlugin({
entry: 'src/views/pages/',
entryFilter: /index\.html$/, // Processes all `index.html` files in subdirectories
});
entryFilter
as Array<RegExp>
Type: Array<RegExp>
Matches files against any included pattern.
Example:
new HtmlBundlerPlugin({
entryFilter: [
/index\.html$/,
/contact\.html$/,
/about\.html$/,
],
});
entryFilter
as Object
Type:
{
includes?: Array<RegExp>;
excludes?: Array<RegExp>;
}
Defines an object with inclusion/exclusion rules.
Example:
{
entryFilter: {
includes: [/\.(html|eta)$/],
excludes: [/partial/],
}
}
entryFilter
as Function
Type:
(file: string) => boolean | void
Parameter:
file
An absolute path to the template file.
Returns:
false
Exclude the file.true
Process the file.void
Process the file.
Example:
new HtmlBundlerPlugin({
entry: 'src/views/pages/',
entryFilter: (file) => {
if (/partial/.test(file)) return false; // Ignore files containing the `partial` in the path
},
});