string[]['.ts', '.tsx', '.mjs', '.js', '.jsx', '.json']>= 1.1.9自动添加导入文件的扩展名。这意味着你可以导入文件,而不需要显式地写它们的扩展名。
例如,如果导入 './index',Rsbuild 将尝试按以下顺序解析:
./index.ts./index.tsx./index.mjs./index.js./index.jsx./index.json
不建议使用 resolve.extensions 来省略 .vue 等自定义的扩展名,因为这可能会干扰 IDE 和类型支持。
resolve.extensions 配置的值会覆盖 Rsbuild 的默认值:
resolve.extensions 是 Rspack 提供的配置,参考 Rspack - resolve.extensions。
事实上,你也可以使用 tools.rspack 来配置它:
这两种用法的区别在于配置合并的方式。
tools.rspack 基于 webpack-merge 来合并配置中的数组,这意味着 tools.rspack.resolve.extensions 会与 Rsbuild 的默认值合并,而不是覆盖它。