Options for module resolution.
Control the priority between the paths
option in tsconfig.json
and the resolve.alias
option of Rsbuild.
Create aliases to import or require certain modules, same as the resolve.alias config of Rspack.
It is important to note that resolve.alias
differs from output.externals in the following ways:
resolve.alias
allows you to replace the target module you want to include in the output bundles with another module. It only works if lib.bundle is set to true
.
For example, if you want to replace lodash
with lodash-es
when bundling a package, you can configure it as follows:
All lodash
modules imported in the source code will be mapped to lodash-es
and be bundled into the output.
output.externals
is used to handle alias mapping for externalized modules. Externalized modules are not included in the bundle; instead, they are imported from external sources at runtime.
For example, if you want to replace react
and react-dom
with preact/compat
in the bundle, you can configure it as follows:
Now, the code import { useState } from 'react'
will be replaced with import { useState } from 'preact/compat'
.
Force Rsbuild to resolve the specified packages from project root, which is useful for deduplicating packages and reducing the bundle size.
Automatically resolve file extensions when importing modules. This means you can import files without explicitly writing their extensions.