Pfad-Aliase

Pfad-Aliase sind ein nützliches Feature von TypeScript, mit dem Sie eine Verknüpfung für einen Pfad definieren können, der in der Verzeichnisstruktur Ihres Projekts weit entfernt sein kann. Dies kann Ihnen helfen, lange relative Importe in Ihrem Code zu vermeiden und die Umstrukturierung der Projektstruktur zu erleichtern. Dies ist besonders nützlich, um lange relative Importe in Ihrem Code zu vermeiden.

Standardmäßig enthält TanStack Start keine Pfad-Aliase. Sie können sie jedoch einfach zu Ihrem Projekt hinzufügen, indem Sie Ihre tsconfig.json-Datei im Stammverzeichnis Ihres Projekts aktualisieren und die folgende Konfiguration hinzufügen

json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "~/*": ["./src/*"]
    }
  }
}
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "~/*": ["./src/*"]
    }
  }
}

In diesem Beispiel haben wir den Pfad-Alias ~/* definiert, der auf das Verzeichnis ./src/* abgebildet wird. Das bedeutet, dass Sie nun Dateien aus dem src-Verzeichnis unter Verwendung des Präfixes ~ importieren können.

Nachdem Sie Ihre tsconfig.json-Datei aktualisiert haben, müssen Sie das Plugin vite-tsconfig-paths installieren, um Pfad-Aliase in Ihrem TanStack Start-Projekt zu aktivieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen

sh
npm install -D vite-tsconfig-paths
npm install -D vite-tsconfig-paths

Nun müssen Sie Ihre app.config.ts-Datei aktualisieren, um Folgendes einzufügen

ts
// app.config.ts
import { defineConfig } from '@tanstack/react-start/config'
import viteTsConfigPaths from 'vite-tsconfig-paths'

export default defineConfig({
  vite: {
    plugins: [
      // this is the plugin that enables path aliases
      viteTsConfigPaths({
        projects: ['./tsconfig.json'],
      }),
    ],
  },
})
// app.config.ts
import { defineConfig } from '@tanstack/react-start/config'
import viteTsConfigPaths from 'vite-tsconfig-paths'

export default defineConfig({
  vite: {
    plugins: [
      // this is the plugin that enables path aliases
      viteTsConfigPaths({
        projects: ['./tsconfig.json'],
      }),
    ],
  },
})

Sobald diese Konfiguration abgeschlossen ist, können Sie Dateien wie folgt mit dem Pfad-Alias importieren

ts
// app/routes/posts/$postId/edit.tsx
import { Input } from '~/components/ui/input'

// instead of

import { Input } from '../../../components/ui/input'
// app/routes/posts/$postId/edit.tsx
import { Input } from '~/components/ui/input'

// instead of

import { Input } from '../../../components/ui/input'
Unsere Partner
Code Rabbit
Netlify
Neon
Clerk
Convex
Sentry
Prisma
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.