For custom CSS Modules configuration.
The CSS Modules feature of Rsbuild is based on the modules option of css-loader. You can refer to css-loader - modules to learn more.
The auto configuration option allows CSS Modules to be automatically enabled based on their filenames.
trueType description:
true: enable CSS Modules for all files matching /\.module\.\w+$/i.test(filename) regexp.false: disable CSS Modules.RegExp: enable CSS Modules for all files matching /RegExp/i.test(filename) regexp.function: enable CSS Modules for files based on the filename satisfying your filter function check.Style of exported class names.
'camelCase'Type description:
asIs Class names will be exported as is.camelCase Class names will be camelized, the original class name will not to be removed from the locals.camelCaseOnly Class names will be camelized, the original class name will be removed from the locals.dashes Only dashes in class names will be camelized.dashesOnly Dashes in class names will be camelized, the original class name will be removed from the locals.stringSets the format of the class names generated by CSS Modules after compilation.
localIdentName has different default values in development and production.
In a production, Rsbuild will generate shorter class names to reduce the bundle size.
You can use the following template strings in localIdentName:
[name] - the basename of the asset.[local] - original class.[hash] - the hash of the string.[folder] - the folder relative path.[path] - the relative path.[file] - filename and path.[ext] - extension with leading dot.[hash:<hashDigest>:<hashDigestLength>]: hash with hash settings.Set localIdentName to other value:
booleanfalseAllows exporting names from global class names, so you can use them via import.
Set the exportGlobals to true:
Use :global() in CSS Modules:
Then you can import the class name wrapped with :global():