Installation mit der Router CLI

Warnung

Sie sollten die TanStack Router CLI nur verwenden, wenn Sie keinen unterstützten Bundler verwenden. Die CLI unterstützt nur die Generierung der Routenbaumdatei und bietet keine weiteren Funktionen.

Um dateibasierte Routen mit der TanStack Router CLI zu verwenden, müssen Sie das Paket @tanstack/router-cli installieren.

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

Nach der Installation müssen Sie Ihre Skripte in Ihrer package.json ändern, damit die CLI Dateien beobachten und generieren kann.

json
{
  "scripts": {
    "generate-routes": "tsr generate",
    "watch-routes": "tsr watch",
    "build": "npm run generate-routes && ...",
    "dev": "npm run watch-routes && ..."
  }
}
{
  "scripts": {
    "generate-routes": "tsr generate",
    "watch-routes": "tsr watch",
    "build": "npm run generate-routes && ...",
    "dev": "npm run watch-routes && ..."
  }
}

Wenn Sie TypeScript verwenden, sollten Sie auch die folgenden Optionen zu Ihrer tsconfig.json hinzufügen.

json
{
  "compilerOptions": {
    "jsx": "preserve",
    "jsxImportSource": "solid-js"
  }
}
{
  "compilerOptions": {
    "jsx": "preserve",
    "jsxImportSource": "solid-js"
  }
}

Damit sind Sie bereit, dateibasierte Routen mit TanStack Router zu verwenden.

Sie sollten nicht vergessen, die generierte Routenbaumdatei zu ignorieren. Lesen Sie im Abschnitt Ignorieren der generierten Routenbaumdatei mehr darüber.

Mit der installierten CLI sind die folgenden Befehle über den tsr-Befehl verfügbar.

Verwendung des Befehls generate

Generiert die Routen für ein Projekt basierend auf der bereitgestellten Konfiguration.

sh
tsr generate
tsr generate

Verwendung des Befehls watch

Beobachtet kontinuierlich die angegebenen Verzeichnisse und generiert Routen bei Bedarf neu.

Verwendung

sh
tsr watch
tsr watch

Wenn dateibasierte Routen aktiviert sind, wird TanStack Router jedes Mal, wenn Sie Ihre Anwendung im Entwicklungsmodus starten, Ihr konfiguriertes routesDirectory beobachten und Ihren Routenbaum generieren, sobald eine Datei hinzugefügt, entfernt oder geändert wird.

Ignorieren der generierten Route-Tree-Datei

Wenn Ihr Projekt für die Verwendung eines Linters und/oder Formatierers konfiguriert ist, möchten Sie möglicherweise die generierte Route-Tree-Datei ignorieren. Diese Datei wird von TanStack Router verwaltet und sollte daher nicht von Ihrem Linter oder Formatierer geändert werden.

Hier sind einige Ressourcen, die Ihnen helfen, die generierte Route-Tree-Datei zu ignorieren

Warnung

Wenn Sie VSCode verwenden, können Sie feststellen, dass die Route-Tree-Datei nach dem Umbenennen einer Route unerwartet (mit Fehlern) geöffnet wird.

Sie können dies in den VSCode-Einstellungen verhindern, indem Sie die Datei als schreibgeschützt markieren. Wir empfehlen außerdem, sie mit den folgenden Einstellungen aus den Suchergebnissen und Dateibewachern auszuschließen

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
  }
}

Sie können diese Einstellungen entweder auf Benutzerebene oder nur für einen einzelnen Arbeitsbereich verwenden, indem Sie die Datei .vscode/settings.json im Stammverzeichnis Ihres Projekts erstellen.

Konfiguration

Bei der Verwendung der TanStack Router CLI für dateibasierte Routen sind einige vernünftige Standardeinstellungen enthalten, die für die meisten Projekte funktionieren sollten.

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

Wenn diese Standardeinstellungen für Ihr Projekt funktionieren, müssen Sie nichts konfigurieren! Wenn Sie die Konfiguration jedoch anpassen müssen, können Sie dies tun, indem Sie eine Datei tsr.config.json im Stammverzeichnis Ihres Projekts erstellen.

Da Sie Solid verwenden, sollten Sie Folgendes zu Ihrer Datei tsr.config.json hinzufügen.

json
{
  "target": "solid"
}
{
  "target": "solid"
}

Alle verfügbaren Konfigurationsoptionen finden Sie in der API-Referenz für dateibasierte Routenführung.

Unsere Partner
Code Rabbit
Netlify
Neon
Clerk
Convex
Sentry
Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.

Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.