'prefer-tsconfig' | 'prefer-alias'
'prefer-tsconfig'
>=1.1.7
控制 tsconfig.json
中的 paths
选项与 Rsbuild 的 resolve.alias 选项的优先级。
resolve.aliasStrategy
默认为 'prefer-tsconfig'
,此时 tsconfig.json
中的 paths
选项和打包工具的 alias
选项都会生效,但 tsconfig paths 选项的优先级更高。
比如同时配置以下内容:
resolve.alias
:由于 tsconfig paths 的优先级更高,所以:
@common
会使用 tsconfig paths 定义的值,指向 ./src/common-1
@utils
会使用 resolve.alias
定义的值,指向 ./src/utils
当 resolve.aliasStrategy
的值为 prefer-alias
时,tsconfig.json
中的 paths
选项只用于提供 TypeScript 类型定义,而不会对打包结果产生任何影响。此时,构建工具只会读取 alias
选项作为路径别名。
比如同时配置以下内容:
resolve.alias
:由于 tsconfig paths 只用于提供类型,所以最终只有 @common
别名生效,并指向 ./src/common-2
目录。
大部分情况下你不需要使用 prefer-alias
,但当你需要动态生成一些别名配置时,可以考虑使用它。比如,基于环境变量来生成 alias
选项: