Einführung
In diesem Projekt lernst du, wie du einen Fehler in der vue-router-Bibliothek beheben kannst, indem du die cleanPath-Funktion modifizierst. Die vue-router-Bibliothek ist eine beliebte Routingsolution für Vue.js-Anwendungen, und es ist wichtig, sicherzustellen, dass sie korrekt funktioniert, insbesondere für Randfälle wie Pfade, die mit mehreren Schrägstrichen beginnen.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Verstehen des Problems mit der
cleanPath-Funktion in dervue-router-Bibliothek - Installieren der erforderlichen Abhängigkeiten für das Projekt
- Lokalisieren und Modifizieren der
cleanPath-Funktion, um das Problem zu beheben - Neuerstellen des Projekts mit der aktualisierten
cleanPath-Funktion - Testen der Behebung, um sicherzustellen, dass das Problem behoben ist
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Probleme in Drittanbieterbibliotheken identifizieren und diagnostizieren
- Den Code in einer Drittanbieterbibliothek modifizieren und aktualisieren, um einen Fehler zu beheben
- Das Projekt mit dem aktualisierten Code neu erstellen und veröffentlichen
- Die Behebung testen, um sicherzustellen, dass das Problem behoben ist
Projektstruktur einrichten
In diesem Schritt wirst du die Projektstruktur einrichten und lernen, was das Problem in der vue-router-Bibliothek ist und wie es behoben werden kann.
In der vue-router-Bibliothek gibt es in Version 3.5.2 einen Fehler, bei dem ein Pfad, der mit mehreren Schrägstrichen (///) beginnt, möglicherweise auf eine andere Domain umgeleitet wird. Dies liegt daran, dass die cleanPath-Funktion in der Bibliothek nur zwei Schrägstriche ersetzt, statt alle mehreren Schrägstriche.
Um dieses Problem zu beheben, musst du die cleanPath-Funktion in der Datei vue-router-3.5.2/src/util/path.js modifizieren.
Um loszulegen, betrachte die Verzeichnisstruktur der Dateien links wie folgt:
├── vue-router-3.5.2
├── vue.js
└── index.html
- Klicke auf die Schaltfläche Go Live in der unteren rechten Ecke von WebIDE, um das Projekt auszuführen.
- Öffne "Web 8080" oben im VM und aktualisiere es manuell, das Ergebnis sollte wie folgt aussehen:

- Kopiere die Adresse in dem obigen Bild, um ein neues Fenster in deinem Browser zu öffnen und klicke auf die Schaltfläche "Gehe zu Foo", und die Seite wird auf eine Google-Seite springen.

Beheben Sie die cleanPath-Funktion
Öffne die Datei
vue-router-3.5.2/src/util/path.js.Locate die
cleanPath-Funktion:export function cleanPath(path: string): string { return path.replace(/\/\//g, "/"); }Aktualisiere die
cleanPath-Funktion, um alle mehreren Schrägstriche durch einen einzigen Schrägstrich zu ersetzen:export function cleanPath(path: string): string { return path.replace(/\/+/g, '/'); }Die reguläre Ausdruck
/\/+/gwird einen oder mehrere aufeinanderfolgende Schrägstriche finden und durch einen einzigen Schrägstrich ersetzen.
Projekt neu bauen und testen
- Navigiere im Terminal zum Verzeichnis
vue-router-3.5.2. - Führe den Befehl
npm installaus, um die Abhängigkeiten zu installieren. Dieser Prozess kann einige Zeit in Anspruch nehmen, bitte seien Sie geduldig. (Wenn es lange anhält, drücken SieCtrl+C, um den Prozess abzubrechen, und führen Sie dann diesen Befehl erneut aus.) - Nachdem alle Abhängigkeiten erfolgreich installiert wurden, führe den Befehl
npm run buildaus, um das Projekt mit der aktualisiertencleanPath-Funktion neu zu erstellen und freizugeben. - Gehe zurück zur Webseite und aktualisiere die Seite.
- Klicke auf die Schaltfläche "Gehe zu Foo", und Sie sollten sehen, dass die Seite nicht mehr auf eine Google-Seite umgeleitet wird, sondern stattdessen auf der lokalen Anwendung bleibt.

Herzlichen Glückwunsch! Sie haben das Problem in der vue-router-Bibliothek erfolgreich behoben, indem Sie die cleanPath-Funktion aktualisiert haben.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben dieses Projekt abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.



