Erste Schritte mit Micro Frontends
Ein Micro Frontend ist eine kleine, eigenständige Webanwendung, die eine fokussierte Funktionalität oder einen einzelnen Benutzerablauf bereitstellt (z. B. die Suche eines Angebots oder die Einreichung eines Schadenfalls). Micro Frontends sind so konzipiert, dass sie in einer Shell-Anwendung verfügbar gemacht und eingebettet werden können, sodass ihre Benutzeroberfläche und ihr Verhalten in größeren Nutzungsumgebungen wiederverwendet werden können.
Mit Micro Frontends können Teams einzelne Teile einer Web-Nutzungsumgebung unabhängig voneinander entwickeln, bereitstellen und pflegen. Zu den üblichen Verwendungszwecken gehören die Unterstützung unabhängiger Entwicklungs-Workflows, die Bereitstellung eines Anwendungsstarters für kleine Apps und die Aktivierung verschachtelter Micro Frontends, bei denen eine eingebettete Anwendung als Shell für andere fungiert.
Ziel
Dieses Tutorial führt Sie durch die Einrichtung und Verwendung der MicroFrontend-Komponente im Freigabemodus. Weitere Informationen zur MicroFrontend-Komponente im Freigabemodus finden Sie in der Dokumentation zu diesem Thema.
In diesem Tutorial lernen Sie Folgendes:
- Eine Jutro-Anwendung als Micro Frontend verfügbar machen.
- Eine Shell-Anwendung für die Nutzung von Micro Frontends konfigurieren.
- Ein Micro Frontend unter Verwendung der
MicroFrontend-Komponente in eine Shell-Anwendung einbetten.
Voraussetzungen
Stellen Sie vor der Installation und Verwendung der MicroFrontend-Komponente sicher, dass Sie die folgenden Voraussetzungen erfüllen:
Sie müssen:
- die allgemeinen Informationen zu Micro Frontends und die Micro Frontend Übersichtsseite gelesen haben, um mehr über die in Jutro Digital Platform verfügbaren Technologien und Anwendungsfälle für Micro Frontends zu erfahren.
- eine App haben, die Sie in ein Micro Frontend umwandeln möchten. Alternativ können Sie die mitgelieferte Beispiel-App herunterladen.
- eine Shell-App haben, in die Sie das Micro Frontend einbetten möchten. Alternativ können Sie auch die Starter Standalone-Vorlage herunterladen und verwenden.
Schritte des Tutorials
1. Laden Sie die Jutro Sandbox-Anwendung herunter (optional)
Wenn Sie keine App haben, die Sie in ein Micro Frontend konvertieren möchten, können Sie die bereitgestellte Beispiel-App verwenden. Bei dieser Beispiel-App handelt es sich um eine Sandbox-Anwendung, die in diesem Tutorial als Micro Frontend verwendet werden kann.
Jutro Sandbox-Anwendung herunterladen
2. Laden Sie die Starter Standalone-Vorlage herunter (optional)
Wenn Sie keine Shell-App haben, in die Sie Ihr Micro Frontend einbetten können, können Sie die Starter Standalone-Vorlage verwenden. Diese Vorlage ist eine einfache Jutro-App, die in diesem Tutorial als Shell-Anwendung verwendet werden kann.
- Melden Sie sich bei Guidewire Cloud an und navigieren Sie dann zu Jutro Web Apps.
- Wählen Sie Neue Jutro-App erstellen aus.
- Geben Sie im Feld App-Name einen Namen für Ihre App ein.
- Wählen Sie als App-Typ die Option Standalone-Anwendung.
- Wählen Sie im Dropdown-Menü „App-Vorlage“ die Option Starter Standalone aus.
- Wählen Sie das Sternensystem aus, in dem Sie Ihre App erstellen möchten.
- Wählen Sie den Zielplaneten von InsuranceSuite aus.
- Wählen Sie Anwendung erstellen aus.
- Wählen Sie nach dem Erstellen der App oben auf der Seite Quellcode aus, und laden Sie den Quellcode der App auf Ihren lokalen Computer herunter.
3. Richten Sie das erforderliche Repository in Ihrer npm-Konfiguration ein
Es gibt drei regionale Guidewire Binary Repository-Instanzen, in denen die für Jutro-Anwendungen erforderlichen npm-Pakete gespeichert werden:
- AMER: https://amer.binrepo.guidewire.net/
- EMEA: https://emea.binrepo.guidewire.net/
- APAC: https://apac.binrepo.guidewire.net/
Wenn Sie eine vorhandene Jutro-App verwenden, verweist diese standardmäßig bereits auf die Instanz, die der Guidewire Home-Umgebung entspricht, in der sie erstellt wurde. Wenn Sie jedoch die Beispielapp verwenden, müssen Sie das Repository in Ihrer npm-Konfiguration festlegen, damit die erforderlichen Pakete installiert werden können.
Bei den Konfigurationsschritten für die lokale Entwicklung müssen Sie ein Zugriffstoken für die ausgewählte Instanz abrufen. In diesen Schritten wird die AMER-Instanz für das Beispiel verwendet:
-
Melden Sie sich bei https://amer.binrepo.guidewire.net/ mit Ihren SAML Single Sign-on (SSO)-Anmeldedaten an.
-
Öffnen Sie Ihr Terminal in Ihrem Home-Verzeichnis und führen Sie den folgenden Befehl aus, wobei Sie den Wert für
{tenantId}durch Ihre Tenant-ID ersetzen:
npm config set @jutro:registry=https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-{tenantId}-all-npm-virtual
npm login --scope=@jutro --registry=https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-{tenantId}-all-npm-virtual
4. Installieren Sie das Micro Frontend Paket in beiden Apps
Installieren Sie das @jutro/micro-frontends-Paket sowohl in Ihrer Shell-App als auch in der App, die in ein Micro Frontend umgewandelt werden soll. Dadurch erhalten Sie Zugriff auf die Micro Frontend-Funktionen.
MicroFrontend-Komponente verwendet wird. In einigen Produktionsumgebungen müssen Sie möglicherweise eine andere Einbettungsmethode verwenden und benötigen dieses Paket nicht in der Shell-App. In diesem Tutorial müssen Sie es jedoch in beiden Apps installieren.Sie können das Paket installieren, indem Sie den folgenden Befehl ausführen:
npm i --save @jutro/micro-frontends@<your-jutro-version>
Die Version des Micro Frontend-Pakets muss mit Ihren anderen Jutro Digital
Platform-Paketen übereinstimmen, z. B. @jutro/components.
5. Die App als Micro Frontend verfügbar machen
Nachdem Sie das @jutro/micro-frontends-Paket installiert haben, folgen Sie diesen Schritten, um die Standalone-App oder Beispielapp in ein Micro Frontend umzuwandeln, das Sie dann in Ihre Shell-App einbetten können:
- Stellen Sie in der App sicher, dass die Dateien
src/indexAsync.tsundsrc/startApp.tsvorhanden sind. Erstellen Sie sie, wenn dies nicht der Fall ist. - Fügen Sie Folgendes in
src/indexAsync.tshinzu:
import('./startApp').then(({ startApp }) => startApp());
- Ändern Sie in
src/startApp.tsdenimportder Funktionstartin@jutro/micro-frontends:
// Replace the start function from '@jutro/app' with the one from '@jutro/micro-frontends'
import { start } from '@jutro/micro-frontends';
import messages from './app/App.messages';
...
Sie müssen die Micro Frontend start-Funktion innerhalb der startApp-Funktion aufrufen:
export const startApp = (mfeData: string) => {
start(Jutro, {
appName: messages.appName,
appDescription: messages.appDescription,
mfeData,
});
};
- Legen Sie in der Datei
.enveine eindeutigeJUTRO_APP_ID-Variable fest. Diese wird als Scope-Name verwendet:
JUTRO_APP_ID=myjutroapp
JUTRO_APP_ID festlegen, wird den Klassen für benutzerdefinierte Komponenten diese ID vorangestellt. Diese ID ist nur für eine MicroFrontend-Komponente im Freigabemodus gültig. Wenn Sie andere Integrationsmethoden verwenden, wird diese Variable ignoriert.- Erstellen Sie eine Datei auf der Stammebene – auf der gleichen Ebene wie Ihre
package.json. Geben Sie ihr den Namenoverrides.config.js, und konfigurieren Sie das Verfügbarmachen des Micro Frontends in dieser Datei:
module.exports = {
webpack: {
moduleFederation: {
exposes: 'myjutroapp',
},
},
};
- (Optional) Fügen Sie in der Datei
App.config.tsxder App innerhalb derexport-Anweisung die folgende Eigenschaft hinzu:
export default {
...
showSubHeader: false,
}
Die folgende Abbildung zeigt ein Beispiel für die auf true festgelegte showSubHeader-Eigenschaft und das daraus resultierende Erscheinungsbild innerhalb der Shell-App, wobei sowohl der Header der Shell-App als auch der Micro Frontend-Header sichtbar sind:

- Starten Sie Ihre App, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
npm i
PORT=3001 npm start
6. Konfigurieren Sie die Shell-App für die Nutzung von Micro Frontends
Um das Micro Frontend in Ihrer Shell-App anzuzeigen, konfigurieren Sie eine neue Seite und fügen Sie die MicroFrontend-Komponente zu dieser Seite hinzu. Gehen Sie folgendermaßen vor, um die Shell-App einzurichten:
- Erstellen Sie im Verzeichnis
src/pageseinen neuen Ordner namensMyMicroFrontend. - Erstellen Sie in diesem Verzeichnis eine neue Datei mit dem Namen
MyMicroFrontend.tsx. - Fügen Sie in der Datei
src/app/App.config.tsxeine neue Route für die Seite hinzu, die Sie gerade erstellt haben:
import {Settings} from '../pages/Settings/Settings';
import {MyMicroFrontend} from '../pages/MyMicroFrontend/MyMicroFrontend';
...
export default {
...
routes: [
{
title: messages.pagesSettingsTitle,
path: '/settings',
exact: true,
component: Settings,
},
{
title: 'MyMicroFrontend',
path: '/mymicrofrontend',
component: MyMicroFrontend,
},
]
}
exact-Eigenschaft nicht für die Micro Frontend-Route, da dies zu Problemen beim Laden des Micro Frontend führen kann.7. Betten Sie die App in Ihre Shell-App ein
Betten Sie das Micro Frontend unter Verwendung der MicroFrontend-Komponente in Ihre Datei MyMicroFrontend.tsx ein. Geben Sie die ID der App und die App-URL mit der src-Eigenschaft an:
import React from 'react';
import { MicroFrontend } from '@jutro/micro-frontends';
export const MyMicroFrontend: React.FC = () => (
<MicroFrontend src="myjutroapp@http://localhost:3001" />
);
8. Starten Sie Ihre Apps und überprüfen Sie, ob das Micro Frontend funktioniert
Starten Sie Ihre Shell-App, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
npm i
PORT=3000 npm start
Wenn alles richtig konfiguriert ist, sollten Sie im Navigationsmenü Ihrer Shell-App ein zusätzliches Element für die Micro Frontend-Seite sehen. Wenn Sie dieses Element auswählen, wird das Micro Frontend geladen und ist in der Shell-App sichtbar.

Best Practices
- Wenn Sie mit Micro Frontends für Produktionsumgebungen arbeiten, stellen Sie sicher, dass Sie die Unterschiede zwischen den verfügbaren Technologien zur Einbettung von Micro Frontends verstehen und die für Ihren Anwendungsfall am besten geeignete auswählen. Weitere Informationen finden Sie unter Übersicht über Micro Frontend-Einbettungstechnologien.
- Stellen Sie sicher, dass Ihre Micro Frontends alle unterschiedliche App-ID-Werte verwenden, um Konflikte im globalen Bereich zu vermeiden.
-
Die Version des Micro Frontend-Pakets muss mit Ihren anderen Jutro Digital Platform-Paketen übereinstimmen, z. B.
@jutro/components.
Siehe auch
Weitere Informationen zur Verwendung der MicroFrontend-Komponente im Freigabemodus finden Sie auf den folgenden Seiten: