若要使用 Rspack 或 Rsbuild 的基于文件的路由,您需要安装 @tanstack/router-plugin 包。
npm install -D @tanstack/router-plugin
npm install -D @tanstack/router-plugin
安装后,您需要将插件添加到您的配置中。
// rsbuild.config.ts
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { tanstackRouter } from '@tanstack/router-plugin/rspack'
export default defineConfig({
plugins: [pluginReact()],
tools: {
rspack: {
plugins: [
tanstackRouter({
target: 'react',
autoCodeSplitting: true,
}),
],
},
},
})
// rsbuild.config.ts
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { tanstackRouter } from '@tanstack/router-plugin/rspack'
export default defineConfig({
plugins: [pluginReact()],
tools: {
rspack: {
plugins: [
tanstackRouter({
target: 'react',
autoCodeSplitting: true,
}),
],
},
},
})
或者,您可以克隆我们的 Rspack/Rsbuild 快速入门示例 并开始使用。
现在您已经将插件添加到 Rspack/Rsbuild 配置中,您就可以开始使用 TanStack Router 的基于文件的路由了。
如果您的项目配置了 linter 和/或 formatter,您可能希望忽略生成的路由树文件。此文件由 TanStack Router 管理,因此不应由您的 linter 或 formatter 更改。
以下是一些帮助您忽略生成的路由树文件的资源
警告
如果您正在使用 VSCode,您可能会在重命名路由后遇到路由树文件意外打开(并带有错误)的情况。
您可以通过在 VSCode 设置中将文件标记为只读来防止这种情况。我们建议还使用以下设置将其从搜索结果和文件监视器中排除
{
"files.readonlyInclude": {
"**/routeTree.gen.ts": true
},
"files.watcherExclude": {
"**/routeTree.gen.ts": true
},
"search.exclude": {
"**/routeTree.gen.ts": true
}
}
{
"files.readonlyInclude": {
"**/routeTree.gen.ts": true
},
"files.watcherExclude": {
"**/routeTree.gen.ts": true
},
"search.exclude": {
"**/routeTree.gen.ts": true
}
}
您可以在用户级别或通过在项目根目录创建 .vscode/settings.json 文件,仅为一个工作区使用这些设置。
当使用 TanStack Router 插件与 Rspack (或 Rsbuild) 进行基于文件的路由时,它带有一些合理的默认值,这些默认值应该适用于大多数项目。
{
"routesDirectory": "./src/routes",
"generatedRouteTree": "./src/routeTree.gen.ts",
"routeFileIgnorePrefix": "-",
"quoteStyle": "single"
}
{
"routesDirectory": "./src/routes",
"generatedRouteTree": "./src/routeTree.gen.ts",
"routeFileIgnorePrefix": "-",
"quoteStyle": "single"
}
如果这些默认值适用于您的项目,则您根本不需要配置任何东西!但是,如果您需要自定义配置,可以通过编辑传递给 tanstackRouter 函数的配置对象来完成。
您可以在[文件路由 API 参考](/router/latest/docs/api/file-based-routing)中找到所有可用的配置选项。
您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。