与模块解析相关的选项。
控制 tsconfig.json
中的 paths
选项与 Rsbuild 中的 resolve.alias
选项的优先级。
设置文件引用的别名,对应 Rspack 的 resolve.alias 配置。
值得注意的是,在 bundle 模式下,resolve.alias
与 output.externals 都可以用于设置别名,但它们在以下方面有所不同:
resolve.alias
用于将目标模块替换为另一个模块,该模块会被打包到产物中。
例如,如果你想在打包一个 package 时将 lodash
替换为 lodash-es
,可以这样配置:
此时,所有在源代码中导入的 lodash
模块将被映射为 lodash-es
,并被打包到产物中。
output.externals
用于处理外部化模块的别名映射。外部化模块不会被打包到产物中,而是在运行时从外部源导入。
例如,如果你想将产物中的外部化模块 react
和 react-dom
替换为 preact/compat
,可以这样配置:
此时,代码 import { useState } from 'react'
将被替换为 import { useState } from 'preact/compat'
。
在 bundleless 模式下,由于并没有打包这个概念,所有模块都会被外部化,因此 Rslib 会自动将 resolve.alias
中解析的模块通过 output.externals
外部化。
强制 Rsbuild 从项目根目录解析指定的包,这可以用于移除重复包和减少包大小。
自动添加导入文件的扩展名。这意味着你可以导入文件,而不需要显式地写它们的扩展名。