Pfad-Aliase sind eine nützliche Funktion von TypeScript, mit der Sie eine Abkürzung für einen Pfad definieren können, der in der Verzeichnisstruktur Ihres Projekts weit entfernt sein könnte. Dies kann Ihnen helfen, lange relative Importe in Ihrem Code zu vermeiden und die Refaktorierung 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.
{
"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 jetzt 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.
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:
// app.config.ts
import { defineConfig } from '@tanstack/solid-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/solid-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 nun Dateien mit dem Pfad-Alias wie folgt importieren:
// 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'
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.