Freigeben über


DevServer mit Microsoft Fabric

Der DevServer ist der lokale Webserver, den Sie beim Entwickeln einer Fabric-Workload ausführen. Es dient Ihrem Frontend (SPA) auf localhost und stellt eine kleine Gruppe von HTTP-Endpunkten bereit, die Fabric während der Entwicklung aufruft, um Ihre Produkt- und Item-Manifeste abzurufen. In Kombination mit devGateway kann Fabric Ihre Workload-UI in einem iFrame laden und Ihre Manifestdaten lesen, ohne sie für Ihren Mandanten zu veröffentlichen.

Funktionsweise des DevServers

  • Hosten Sie Ihr Workload-Frontend über HTTP auf localhost (z. B http://localhost:60006. ), damit Fabric sie in einem iFrame laden kann.
  • Dient statischen Ressourcen, auf die von Ihren Manifesten verwiesen wird (Symbole, lokalisierte Zeichenfolgen, Bilder).
  • Macht lokale JSON-Endpunkte verfügbar, die Fabric verwendet, um Ihre Manifeste während der Entwicklung zu lesen.
  • Ermöglicht schnelle Bearbeitungs- und Aktualisierungszyklen mit Hot Reload in den meisten Setups.

Von Bedeutung

Der DevServer arbeitet mit dem DevGateway zusammen. DevGateway registriert Ihre lokale Workloadinstanz bei Fabric, damit der Dienst während der Entwicklung mit Ihren DevServer-Endpunkten kommunizieren kann.

Wo Fabric den DevServer aufruft

Wenn Sie den Entwicklungsmodus aktivieren und sowohl DevGateway als auch DevServer starten:

  • Fabric navigiert über den Von Ihrem Workload-Manifest definierten Frontend-Endpunkt zu Ihrem Frontend (siehe Workload-Manifest). In der Entwicklung verweist dies in der Regel auf eine localhost-URL, die vom DevServer verfügbar gemacht wird.
  • Fabric fragt den DevServer bezüglich Ihrer produktbezogenen Metadaten ab, damit es Navigation, Kacheln und andere UX für Ihre Workload rendern kann. Auf diese Weise können Sie über Product.json und Elementmanifeste iterieren, ohne ein Paket neu zu erstellen und hochzuladen.

Lokale Endpunkte, die der DevServer bereitstellt

Genaue Routen können je nach Vorlage variieren, aber das Beispiel-Repository macht einen kleinen Satz vorhersehbarer Endpunkte verfügbar:

  • GET / - gibt Ihre Web-App zurück (die UI Fabric wird in ein iFrame geladen).
  • GET /manifests – gibt eine JSON-Nutzlast zurück, die Ihr Produktmanifest und Item-Manifeste aggregiert, die vom Frontend verwendet werden. Bei der Veröffentlichung entspricht dies der Struktur, die Fabric erwartet (siehe Produktmanifest und Artikelmanifest).
  • GET /assets/... – dient Symbolen, Bildern und lokalisierten Zeichenfolgen, auf die von Ihren Manifesten verwiesen wird.

Hinweis

  • CORS und Header sind im Beispiel DevServer vorkonfiguriert, so dass die App eingebettet und mit dem Host kommunizieren kann.
  • Die oben genannten Routennamen folgen dem aktuellen Beispiel; wenden Sie sich an die README-Datei Ihrer Vorlage, wenn Ihr Projekt einen anderen Pfad für den Manifestendpunkt verwendet.

Typischer Entwicklungsfluss

  1. Starten Sie den DevServer aus dem Beispiel-Repository, um Ihr Frontend auf localhost zu hosten.
  2. Starten Sie devGateway, um Ihre lokale Workload bei Fabric zu registrieren.
  3. Öffnen Sie Ihren Fabric-Arbeitsbereich, und starten Sie den Einstiegspunkt für die Workload. Fabric lädt Ihre App in einem iFrame und ruft Ihre DevServer-Endpunkte auf, um Manifestdaten zu lesen.
  4. Bearbeiten von UI- oder Manifestdateien und Aktualisieren; Änderungen werden sofort wirksam, ohne umzupacken.

Informationen zum Starten der einzelnen Prozesse finden Sie im Lernprogramm "Erste Schritte " und im Setuphandbuch.

Beziehung zu veröffentlichten Manifesten

In der Produktionsumgebung werden die Manifeste Ihrer Workload als Teil des NuGet-Pakets Ihrer Workload verpackt und hochgeladen (siehe Manifestübersicht). Während der Entwicklung dienen die lokalen Endpunkte des DevServer als einfaches Stand-In für diese verpackten Dateien, sodass Sie schnell iterieren können:

  • Schema und Regeln sind identisch mit veröffentlichten Manifesten.
  • Der DevServer wirkt sich nur auf die lokale Entwicklung aus; es ändert sich nicht, wie die Veröffentlichung funktioniert.

Tipps zur Problembehandlung

  • Wenn der iFrame eine leere Seite anzeigt, bestätigen Sie, dass der DevServer ausgeführt wird, und der Frontend-Endpunkt in Ihrem Manifest verweist auf die richtige localhost-URL.
  • Wenn Symbole oder Zeichenfolgen fehlen, überprüfen Sie die assets Pfade und stellen Sie sicher, dass der DevServer diese Dateien unter /assets bereitstellt.
  • Wenn Fabric Ihre Manifeste nicht finden kann, überprüfen Sie, ob die /manifests Route in Ihrer Vorlage vorhanden ist, und geben Sie gültige JSON zurück.

Siehe auch