website/docs/en/config/module.mdx
import WebpackLicense from '@components/WebpackLicense';
<WebpackLicense from="https://webpack.docschina.org/configuration/module/" />Used to decide how to handle different types of modules in a project.
Object{}(Rule | Falsy)[]defaultRules configures the built-in module resolution and processing rules that Rspack enables by default. These rules are applied automatically to ensure that common resource types such as JavaScript, JSON, CSS, and Wasm can be correctly resolved and bundled.
You can extend, override, or disable these default rules to gain finer control over the build behavior.
For example, extending the default rules:
export default {
module: {
defaultRules: [
// Use "..." to reference Rspack’s default rules
'...',
// Add a custom rule
{
test: /\.foo$/,
use: ['foo-loader'],
},
],
},
};
If you want to remove all of Rspack's default rules, simply omit "...":
export default {
module: {
defaultRules: [],
},
};
:::tip See the source code for the full list of default rules. :::
Object{}Use module.generator to define output generation options for each module type, such as asset filenames, public paths, and CSS Modules exports. See Module Generator for details.
string | string[] | RegExp | RegExp[] | ((request: string) => boolean)undefinedKeep module mechanism of the matched modules as-is, such as module.exports, require, import.
It's useful and can boost build performance when used to ignore libraries without external dependencies.
Note: these modules will still be processed by configured loaders.
export default {
module: {
noParse: /typescript|watermark-dom/,
},
};
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
export default {
module: {
noParse: [require.resolve('typescript'), /watermark-dom/],
},
};
export default {
module: {
noParse: (request) => /typescript|watermark-dom/.test(request),
},
};
Object{}Use module.parser to define parser options for each module type, such as dependency collection and how module syntax is interpreted. See Module Parser for details.
See Module Rules for details.