框架
版本

使用 Rspack 安装

要将基于文件的路由与 RspackRsbuild 结合使用,您需要安装 @tanstack/router-plugin 包。

sh
npm install -D @tanstack/router-plugin
npm install -D @tanstack/router-plugin

安装完成后,您需要将插件添加到您的配置中。

tsx
// rsbuild.config.ts
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { TanStackRouterRspack } from '@tanstack/router-plugin/rspack'

export default defineConfig({
  plugins: [pluginReact()],
  tools: {
    rspack: {
      plugins: [
        TanStackRouterRspack({ target: 'react', autoCodeSplitting: true }),
      ],
    },
  },
})
// rsbuild.config.ts
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { TanStackRouterRspack } from '@tanstack/router-plugin/rspack'

export default defineConfig({
  plugins: [pluginReact()],
  tools: {
    rspack: {
      plugins: [
        TanStackRouterRspack({ target: 'react', autoCodeSplitting: true }),
      ],
    },
  },
})

或者,您可以克隆我们的 Quickstart Rspack/Rsbuild 示例 并开始使用。

现在您已将插件添加到您的 Rspack/Rsbuild 配置中,您已准备好开始将基于文件的路由与 TanStack Router 一起使用。

忽略生成的路由树文件

如果您的项目配置为使用 linter 和/或 formatter,您可能想要忽略生成的路由树文件。此文件由 TanStack Router 管理,因此不应由您的 linter 或 formatter 更改。

以下是一些资源可帮助您忽略生成的路由树文件

警告

如果您正在使用 VSCode,您可能会在重命名路由后意外打开路由树文件(并显示错误)。

您可以通过在 VSCode 设置中将文件标记为只读来防止这种情况。我们的建议是将它也从搜索结果和文件监视器中排除,使用以下设置

json
{
  "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)一起用于基于文件的路由时,它带有一些合理的默认值,这些默认值应该适用于大多数项目

json
{
  "routesDirectory": "./src/routes",
  "generatedRouteTree": "./src/routeTree.gen.ts",
  "routeFileIgnorePrefix": "-",
  "quoteStyle": "single"
}
{
  "routesDirectory": "./src/routes",
  "generatedRouteTree": "./src/routeTree.gen.ts",
  "routeFileIgnorePrefix": "-",
  "quoteStyle": "single"
}

如果这些默认值适用于您的项目,您根本不需要配置任何内容!但是,如果您需要自定义配置,您可以通过编辑传递到 TanStackRouterVite 函数中的配置对象来完成。

您可以在 基于文件的路由 API 参考 中找到所有可用的配置选项。

订阅 Bytes

您的每周 JavaScript 新闻。每周一免费发送给超过 100,000 名开发者。

Bytes

无垃圾邮件。随时取消订阅。